public HttpRequest(HttpRequestKind kind, string resource, HttpVersion version, IHttpMessage message) { Kind = kind; Resource = new Resource(resource); Version = version; Message = message; validation_code = HttpRequestValidationCode.Valid; }
public static void ValidateOrThrow(string request, out HttpRequestKind kind, out Resource resource, out HttpVersion version) { var result = Validate(request, out kind, out resource, out version); if (result != HttpRequestValidationCode.Valid) { throw new InvalidHttpRequestException(result); } }
public IDisposable ExecuteHttpRequest(HttpContext context, HttpRequestKind kind) { var scopes = new IDisposable[_listeners.Length]; for (var i = 0; i < _listeners.Length; i++) { scopes[i] = _listeners[i].ExecuteHttpRequest(context, kind); } return(new AggregateActivityScope(scopes)); }
public static HttpRequestValidationCode Validate(string request, out HttpRequestKind kind, out Resource resource, out HttpVersion version) { var elements = request?.Split(' ') ?? new string[0]; kind = elements.Length > 0 ? HttpRequestKindUtils.ParseHttpRequestKind(elements[0]) : HttpRequestKind.Unknown; if (kind == HttpRequestKind.Unknown) { resource = new Resource(); version = HttpVersion.Unknown; return(HttpRequestValidationCode.RequestUnknown); } if (elements.Length > 1) { resource = new Resource(elements[1]); if (!resource.IsValid) { version = HttpVersion.Unknown; return(HttpRequestValidationCode.InvalidResource); } } else { resource = new Resource(); version = HttpVersion.Unknown; return(HttpRequestValidationCode.NoResource); } if (elements.Length > 2) { version = HttpVersionUtils.Parse(elements[2]); if (version == HttpVersion.Unknown) { return(HttpRequestValidationCode.UnknownVersion); } } else { version = HttpVersion.Unknown; return(HttpRequestValidationCode.NoVersion); } return(HttpRequestValidationCode.Valid); }
public static bool TryValidate(string request, out HttpRequestKind kind, out Resource resource, out HttpVersion version) { var result = Validate(request, out kind, out resource, out version); return(result == HttpRequestValidationCode.Valid); }
/// <inheritdoc /> public virtual IDisposable ExecuteHttpRequest(HttpContext context, HttpRequestKind kind) => EmptyScope;
public static string ConvertToString(HttpRequestKind kind) { return(kind.ToString()); }