ext/http11_client/http11_parser.rl in astro-em-http-request-0.1.6 vs ext/http11_client/http11_parser.rl in astro-em-http-request-0.1.12
- old
+ new
@@ -60,11 +60,11 @@
parser->header_done(parser->data, fpc + 1, pe - fpc - 1);
fbreak;
}
# line endings
- CRLF = "\r\n";
+ CRLF = ("\r\n" | "\n");
# character types
CTL = (cntrl | 127);
tspecials = ("(" | ")" | "<" | ">" | "@" | "," | ";" | ":" | "\\" | "\"" | "/" | "[" | "]" | "?" | "=" | "{" | "}" | " " | "\t");
@@ -138,21 +138,18 @@
assert(parser->field_len <= len && "field has length longer than whole buffer");
assert(parser->field_start < len && "field starts after buffer end");
if(parser->body_start) {
/* final \r\n combo encountered so stop right here */
- %%write eof;
- parser->nread++;
+ parser->nread = parser->body_start;
}
return(parser->nread);
}
int httpclient_parser_finish(httpclient_parser *parser)
{
int cs = parser->cs;
-
- %%write eof;
parser->cs = cs;
if (httpclient_parser_has_error(parser) ) {
return -1;