rbkb-http¶ ↑
HTTP protocol addons for the Ruby BlackBag (rbkb-http)
DESCRIPTION¶ ↑
This library includes HTTP protocol tools and libraries based on and complementary to the Ruby BlackBag library.
At it’s core rbkb-http is simply a set of serializable and desieralizable objects for HTTP request and response messages.
REQUIREMENTS¶ ↑
-
ruby blackbag (rbkb) - emonti.github.com/rbkb
SYNOPSIS¶ ↑
require 'rubygems' require 'rbkb/http' # we start with a raw HTTP request string rawdat = "POST /foo HTTP/1.0 Content-Length: 10 a=12345678" # ... which we parse into an abstract object req = Rbkb::Http::Request.new() req.capture(rawdat) # Or you could just say this in one shot #req = Rbkb::Http::Request.parse(rawdat) # now we can mess with the request body req.body << "extrastuff" # .. and/or action line req.action.version="HTTP/1.1" # ... and/or headers req.headers.set_header("Host", "somehost.com") # and spit out a new request string (content-length is auto-calculated!) puts req.to_raw -/snip-
Which produces:
POST /foo HTTP/1.1 Content-Length: 20 Host: somehost.com a=12345678extrastuff
Copyright¶ ↑
Copyright © 2009 Eric Monti. See LICENSE for details.