public void OnStartLine(Http.Method method, Http.Version version, ReadOnlySpan <byte> target, ReadOnlySpan <byte> path, ReadOnlySpan <byte> query, ReadOnlySpan <byte> customMethod, bool pathEncoded) { //Method = method; //Version = version; //Path = PrimitiveEncoder.DecodeAscii(path); //Query = PrimitiveEncoder.DecodeAscii(query); //Target = PrimitiveEncoder.DecodeAscii(target); }
public void OnStartLine(Http.Method method, Http.Version version, ReadOnlySpan <byte> target, ReadOnlySpan <byte> path, ReadOnlySpan <byte> query, ReadOnlySpan <byte> customMethod, bool pathEncoded) { Method = method; Version = version; Path = Encodings.Ascii.ToUtf16String(path); Query = Encodings.Ascii.ToUtf16String(query); Target = Encodings.Ascii.ToUtf16String(target); }
public void OnStartLine(Http.Method method, Http.Version version, ReadOnlySpan <byte> target, ReadOnlySpan <byte> path, ReadOnlySpan <byte> query, ReadOnlySpan <byte> customMethod, bool pathEncoded) { Method = method != Http.Method.Custom ? method.ToString().ToUpper() : Encodings.Ascii.ToUtf16String(customMethod); Version = ToString(version); RawTarget = Encodings.Ascii.ToUtf16String(target); RawPath = Encodings.Ascii.ToUtf16String(path); Query = Encodings.Ascii.ToUtf16String(query); PathEncoded = pathEncoded; }
public void OnStartLine(Http.Method method, Http.Version version, ReadOnlySpan <byte> target, ReadOnlySpan <byte> path, ReadOnlySpan <byte> query, ReadOnlySpan <byte> customMethod, bool pathEncoded) { _method = method; _version = version; _target = target.ToArray(); _path = path.ToArray(); _query = query.ToArray(); _customMethod = customMethod.ToArray(); }
public void OnStartLine(Http.Method method, Http.Version version, ReadOnlySpan <byte> target, ReadOnlySpan <byte> path, ReadOnlySpan <byte> query, ReadOnlySpan <byte> customMethod, bool pathEncoded) { Method = method != Http.Method.Custom ? method.ToString().ToUpper() : PrimitiveEncoder.DecodeAscii(customMethod); Version = ToString(version); RawTarget = PrimitiveEncoder.DecodeAscii(target); RawPath = PrimitiveEncoder.DecodeAscii(path); Query = PrimitiveEncoder.DecodeAscii(query); PathEncoded = pathEncoded; }
private string ToString(Http.Version version) { switch (version) { case Http.Version.Http10: return("HTTP/1.0"); case Http.Version.Http11: return("HTTP/1.1"); case Http.Version.Unknown: return("Unknown"); default: throw new NotImplementedException(); } }
protected static void WriteCommonHeaders <TFormatter>( ref TFormatter formatter, Http.Version version, int statuCode, string reasonCode) where TFormatter : ITextOutput { var currentTime = DateTime.UtcNow; formatter.AppendHttpStatusLine(version, statuCode, new Utf8Span(reasonCode)); formatter.Append("Transfer-Encoding : chunked\r\n"); formatter.Append("Server : .NET Core Sample Server\r\n"); formatter.Format("Date : {0:R}\r\n", DateTime.UtcNow); }
public static string VersionToString(Http.Version httpVersion) { switch (httpVersion) { case Http.Version.Http10: return(Http10Version); case Http.Version.Http11: return(Http11Version); default: return(null); } }
public static unsafe bool GetKnownVersion(this Span <byte> span, out Http.Version knownVersion, out byte length) { fixed(byte *data = &MemoryMarshal.GetReference(span)) { knownVersion = GetKnownVersion(data, span.Length); if (knownVersion != Http.Version.Unknown) { length = sizeof(ulong); return(true); } length = 0; return(false); } }
public static unsafe bool GetKnownVersion(this Span <byte> span, out Http.Version knownVersion, out byte length) { fixed(byte *data = &span.DangerousGetPinnableReference()) { knownVersion = GetKnownVersion(data, span.Length); if (knownVersion != Http.Version.Unknown) { length = sizeof(ulong); return(true); } length = 0; return(false); } }
public void OnStatusLine(Http.Version version, ushort statusCode, ReadOnlySpan <byte> status) { StatusCode = statusCode; }