protected override HttpParser CreateParser(http_parser_type parse_type) { if (parse_type != http_parser_type.HTTP_REQUEST) { throw new Exception("AwsHttpResponse can only create HTTP_REQUEST type parser"); } return(new HttpParser(this)); }
public AwsHttpMessage(bool no_parser, http_parser_type parse_type) { if (no_parser) { complete_ = true; return; } complete_ = false; if (http_parser_type.HTTP_REQUEST == parse_type) { parser_ = CreateParser(parse_type); } }
public HttpParser(http_parser_type type) { ParserPointer = Marshal.AllocHGlobal(sizeof(http_parser)); http_parser_init(ParserPointer, type); onMessageBegin = OnMessageBegin; onUrl = OnUrl; onHeaderField = OnHeaderField; onHeaderValue = OnHeaderValue; onHeadersComplete = OnHeadersComplete; onBody = OnBody; onMessageComplete = OnMessageComplete; settings.on_message_begin = Marshal.GetFunctionPointerForDelegate(onMessageBegin); settings.on_url = Marshal.GetFunctionPointerForDelegate(onUrl); settings.on_header_field = Marshal.GetFunctionPointerForDelegate(onHeaderField); settings.on_header_value = Marshal.GetFunctionPointerForDelegate(onHeaderValue); settings.on_headers_complete = Marshal.GetFunctionPointerForDelegate(onHeadersComplete); settings.on_body = Marshal.GetFunctionPointerForDelegate(onBody); settings.on_message_complete = Marshal.GetFunctionPointerForDelegate(onMessageComplete); }
public RawHttpParser(http_parser_type type) { ParserPointer = Marshal.AllocHGlobal(sizeof(http_parser)); SettingsPointer = Marshal.AllocHGlobal(sizeof(http_parser_settings)); http_parser_init(ParserPointer, type); onMessageBegin = OnMessageBegin; onUrl = OnUrl; onStatus = OnStatus; onHeaderField = OnHeaderField; onHeaderValue = OnHeaderValue; onHeadersComplete = OnHeadersComplete; onBody = OnBody; onMessageComplete = OnMessageComplete; settings->on_message_begin = Marshal.GetFunctionPointerForDelegate(onMessageBegin); settings->on_status = Marshal.GetFunctionPointerForDelegate(onStatus); settings->on_url = Marshal.GetFunctionPointerForDelegate(onUrl); settings->on_header_field = Marshal.GetFunctionPointerForDelegate(onHeaderField); settings->on_header_value = Marshal.GetFunctionPointerForDelegate(onHeaderValue); settings->on_headers_complete = Marshal.GetFunctionPointerForDelegate(onHeadersComplete); settings->on_body = Marshal.GetFunctionPointerForDelegate(onBody); settings->on_message_complete = Marshal.GetFunctionPointerForDelegate(onMessageComplete); }
public HttpParser(http_parser_type type) : base(type) { }
public EncodedHttpParser(http_parser_type type, Encoding enc) : base(type) { Encoding = enc; }
public EncodedHttpParser(http_parser_type type) : this(type, Encoding.Default) { }
public EventedHttpParser(http_parser_type type) : base(type) { }
private static extern void http_parser_init(IntPtr parser, http_parser_type type);
protected virtual HttpParser CreateParser(http_parser_type parse_type) { throw new NotImplementedException(); }