Commit Graph

8 Commits (81b677820c7077545199d751ee6927f0306e0ddf)

Author SHA1 Message Date
HD Moore 2bc1d4be18 Updates to the client API
git-svn-id: file:///home/svn/framework3/trunk@4242 4d416f70-5f16-0410-b530-b9f4589650da
2006-12-28 23:42:54 +00:00
HD Moore 804df25240 Initial overhaul of the HTTP client api. This removes nearly all of the client evasion methods, but leaves the code in a great state to reimplement them with less issues.
git-svn-id: file:///home/svn/framework3/trunk@4222 4d416f70-5f16-0410-b530-b9f4589650da
2006-12-19 07:11:55 +00:00
bmc 20fec01d68 * add junk pipelined request support
* fix socket creation on pipelined requests
* when a server says that the connection should be closed (Connection: closed), then close the connection, since its going to regardless, and we don't want to loose our state
* support non-standard line termination in headers.  ie \n instead of \r\n
* add junk headers (X-rand: rand)
* add header folding (for evasion)
* add parse_header_re (still leaving parse_header around, though its dead code ATM) that does the right thing on non-standard line endings
* move 'gzip' to a 'compression' option
* add 'deflate' compression option (really, just raw zlib, and only firefox does deflate right)
* fix a bunch of TE:chunked decoding bugs based based on the fact that Apache doesn't always close chunks appropriately
* modify parse_body to not return state, since it doesn't always do that, and the return isn't used... self.state is.
* add TE:chunked request support
* normalize URIs in requests before saving them
* Move params out of the URI, but when the uri is requested, and the method is GET, and there are params, return a URI that has the params that are approrpiately encoded (needed for junk_params, see below)
* move request.to_s support of params to use the request params array when a POST, allows use of junk params support (see below).  NOTE:  If the body is provided, use the body instead of params, in case you want to hardcode the params in a POST request, eg: php_xmlrpc_eval.rb
* Add junk params when building a param list, eg: a=b becomes asdfasdf=asdrt32a&asdfad=okhgasd&a=b&hjklasdf=hkasgd
* add URI junk slash support (eg: /////foo.html)
* param splitting now supports both '&', and ';', which CGI.pm and PHP both allow
* add URI junk directory support, eg: /asdf/../foo.html
* add param encoding support, eg: param A with value '=' is  A=%3d
* add URI junk self referring directory support, eg: /././foo.html


git-svn-id: file:///home/svn/incoming/trunk@3457 4d416f70-5f16-0410-b530-b9f4589650da
2006-01-27 21:57:44 +00:00
HD Moore b4ad4a5d75 Tabs vs Spaces
git-svn-id: file:///home/svn/incoming/trunk@3453 4d416f70-5f16-0410-b530-b9f4589650da
2006-01-27 05:33:08 +00:00
bmc 9913f6d953 * add SSL support to the client (pass another arg to enable)
git-svn-id: file:///home/svn/incoming/trunk@3411 4d416f70-5f16-0410-b530-b9f4589650da
2006-01-20 18:59:24 +00:00
HD Moore 88658064df /usr/bin/ruby vs /usr/bin/env ruby
git-svn-id: file:///home/svn/incoming/trunk@3242 4d416f70-5f16-0410-b530-b9f4589650da
2005-12-17 06:46:23 +00:00
HD Moore 63f67869de Updates to HTTP:
* chunked transfer support
	* generic Request factory Client.request
	* runtime configuration via Client.config

Still busted:
	* Enforcement of max_data length
	* Error handling on incomplete responses


git-svn-id: file:///home/svn/incoming/trunk@2849 4d416f70-5f16-0410-b530-b9f4589650da
2005-09-15 23:37:38 +00:00
Matt Miller ba794cc6d8 added some http protocol stuff, ruby's builtin stuff sucks
git-svn-id: file:///home/svn/incoming/trunk@2823 4d416f70-5f16-0410-b530-b9f4589650da
2005-07-24 20:53:54 +00:00