From 923110019fa5ca4421f6659c4cd339bfd8544cce Mon Sep 17 00:00:00 2001 From: Jeremy Hinegardner Date: Sun, 12 Jul 2009 02:01:38 -0600 Subject: [PATCH] fix content length access --- ext/http-parser/http-parser_ext.c | 4 ++-- spec/response_parser_spec.rb | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ext/http-parser/http-parser_ext.c b/ext/http-parser/http-parser_ext.c index 25f24ae..e3b6034 100644 --- a/ext/http-parser/http-parser_ext.c +++ b/ext/http-parser/http-parser_ext.c @@ -339,7 +339,7 @@ VALUE hpe_parser_content_length( VALUE self ) Data_Get_Struct( self, http_parser, parser ); content_length = parser->content_length; - rc = UULL2NUM( content_length ); + rc = ULL2NUM( content_length ); return rc; } @@ -500,7 +500,7 @@ void Init_http_parser_ext() rb_define_method( cHttpParser, "chunked_encoding?" ,hpe_parser_chunked_encoding , 0 ); rb_define_method( cHttpParser, "version" ,hpe_parser_version , 0 ); rb_define_method( cHttpParser, "keep_alive?" ,hpe_parser_keep_alive , 0 ); - rb_define_method( cHttpParser, "content_length?" ,hpe_parser_content_length , 0 ); + rb_define_method( cHttpParser, "content_length" ,hpe_parser_content_length , 0 ); rb_define_method( cHttpParser, "reset" ,hpe_parser_reset , 0 ); rb_define_method( cHttpParser, "parse_chunk" ,hpe_parser_parse_chunk , 1 ); diff --git a/spec/response_parser_spec.rb b/spec/response_parser_spec.rb index 5cb379e..e6afce9 100644 --- a/spec/response_parser_spec.rb +++ b/spec/response_parser_spec.rb @@ -61,4 +61,14 @@ end end end + + it "knows the content length" do + cl = nil + @parser.on_headers_complete do |p| + cl = p.content_length + end + @parser.parse_chunk( IO.read( http_res_file( "google" ) ) ) + cl.should == 219 + end + end