private bool ParseHeaderValue() { for (int i = 1; i < buffer.Length - 1; i++) { if (buffer[i] == '\r' && buffer[i + 1] == '\n') { var slice = buffer.Take(i).SkipWhile(x => (char)x == ' ').ToArray(); OnHeader?.Invoke(headerKey, Encoding.ASCII.GetString(slice)); buffer = buffer.Skip(i + 2).ToArray(); state = HttpParseState.BeginHeaderKey; return(true); } } return(false); }
public static extern void HP_Set_FN_HttpClient_OnHeader(IntPtr pListener, OnHeader fn);