public string ToHttp() { return(HttpVersionUtils.ConvertToString(Version) + " " + HttpStatusCodeUtils.ConvertToNumberString(StatusCode) + " " + HttpStatusCodeUtils.ConvertToFormattedString(StatusCode) + "\r\n" + Message.ToHttp()); }
public string ToHttp() { return(HttpRequestKindUtils.ConvertToString(Kind) + " " + Resource.Representation + " " + HttpVersionUtils.ConvertToString(Version) + "\r\n" + Message.ToHttp()); }
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 HttpResponseValidationCode Validate(string response, out HttpVersion version, out HttpStatusCode status) { var elements = response?.Split(' ') ?? new string[0]; if (elements.Length > 0) { version = HttpVersionUtils.Parse(elements[0]); if (version == HttpVersion.Unknown) { status = HttpStatusCode.Unkown; return(HttpResponseValidationCode.UnknownVersion); } } else { version = HttpVersion.Unknown; status = HttpStatusCode.Unkown; return(HttpResponseValidationCode.NoVersion); } if (elements.Length > 1) { var stat_int_success = int.TryParse(elements[1], out int stat_int); if (!stat_int_success) { status = HttpStatusCode.Unkown; return(HttpResponseValidationCode.StatusNotInt); } var stat_sucecss = HttpStatusCodeUtils.ConvertFromNumber(stat_int, out status); if (!stat_sucecss) { return(HttpResponseValidationCode.UnknownStatus); } } else { status = HttpStatusCode.Unkown; return(HttpResponseValidationCode.NoStatus); } return(HttpResponseValidationCode.Valid); }