[Modify] Move it

This commit is contained in:
sta 2018-02-14 22:46:08 +09:00
parent f775caf21b
commit e1fa25f872
2 changed files with 22 additions and 14 deletions

View File

@ -75,6 +75,7 @@ namespace WebSocketSharp.Net
private Guid _requestTraceIdentifier; private Guid _requestTraceIdentifier;
private Uri _url; private Uri _url;
private Uri _urlReferrer; private Uri _urlReferrer;
private bool _urlSet;
private string _userHostName; private string _userHostName;
private bool _userHostNameSet; private bool _userHostNameSet;
private string[] _userLanguages; private string[] _userLanguages;
@ -412,8 +413,10 @@ namespace WebSocketSharp.Net
public NameValueCollection QueryString { public NameValueCollection QueryString {
get { get {
if (_queryString == null) { if (_queryString == null) {
var url = Url;
_queryString = HttpUtility.InternalParseQueryString ( _queryString = HttpUtility.InternalParseQueryString (
_url.Query, Encoding.UTF8 url != null ? url.Query : null,
Encoding.UTF8
); );
} }
@ -467,6 +470,17 @@ namespace WebSocketSharp.Net
/// </value> /// </value>
public Uri Url { public Uri Url {
get { get {
if (!_urlSet) {
_url = HttpUtility.CreateRequestUrl (
_rawUrl,
_userHostName ?? UserHostAddress,
IsWebSocketRequest,
IsSecureConnection
);
_urlSet = true;
}
return _url; return _url;
} }
} }
@ -664,18 +678,6 @@ namespace WebSocketSharp.Net
return; return;
} }
_url = HttpUtility.CreateRequestUrl (
_rawUrl,
hasHost ? host : UserHostAddress,
IsWebSocketRequest,
IsSecureConnection
);
if (_url == null) {
_context.ErrorMessage = "Invalid request url";
return;
}
var transferEnc = _headers["Transfer-Encoding"]; var transferEnc = _headers["Transfer-Encoding"];
if (transferEnc != null) { if (transferEnc != null) {
if (_protocolVersion < HttpVersion.Version11) { if (_protocolVersion < HttpVersion.Version11) {

View File

@ -924,7 +924,13 @@ namespace WebSocketSharp.Server
private void processRequest (HttpListenerWebSocketContext context) private void processRequest (HttpListenerWebSocketContext context)
{ {
var path = context.RequestUri.AbsolutePath; var uri = context.RequestUri;
if (uri == null) {
context.Close (HttpStatusCode.BadRequest);
return;
}
var path = uri.AbsolutePath;
WebSocketServiceHost host; WebSocketServiceHost host;
if (!_services.InternalTryGetServiceHost (path, out host)) { if (!_services.InternalTryGetServiceHost (path, out host)) {