Sha256: 7c218ca9b436f280c768753bcc1bdabd4b02152a8c10d215e90c994b6dffc4d5

Contents?: true

Size: 951 Bytes

Versions: 2

Compression:

Stored size: 951 Bytes

Contents

#ifndef http11_parser_h
#define http11_parser_h

#include <sys/types.h>

typedef void (*element_cb)(void *data, const char *at, size_t length);
typedef void (*field_cb)(void *data, const char *field, size_t flen, const char *value, size_t vlen);

typedef struct http_parser { 
  int cs;
  const char *body_start;
  int content_len;
  size_t nread;
  const char *mark;
  const char *field_start;
  size_t field_len;

  void *data;

  field_cb http_field;
  element_cb request_method;
  element_cb path_info;
  element_cb query_string;
  element_cb http_version;

} http_parser;

int http_parser_init(http_parser *parser);
int http_parser_finish(http_parser *parser);
size_t http_parser_execute(http_parser *parser, const char *data, size_t len );
int http_parser_has_error(http_parser *parser);
int http_parser_is_finished(http_parser *parser);
void http_parser_destroy(http_parser *parser);

#define http_parser_nread(parser) (parser)->nread 

#endif

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mongrel-0.2.0 ext/http11/http11_parser.h
mongrel-0.2.1 ext/http11/http11_parser.h