   _(options).defaults parsed_uri
   _(options.headers).defaults
     'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_3) AppleWebKit/537.16 (KHTML, like Gecko) Chrome/24.0.1297.0 Safari/537.16'
-
   handle_options options
-
   if options.body?
     options.body = new Buffer options.body
     options.headers['content-length'] = options.body.length
+  options.method = options.method.toUpperCase()
 
-  options.method = options.method.toUpperCase()
   req = request_module.request options, (resp) ->
-    the_request_info = {}
-    _(the_request_info).extend req
-    _(the_request_info).extend options
-    resp.request = the_request_info
+    resp.request = _(_({}).extend(req)).extend options
 
     cookies = resp?.headers?['set-cookie']
     if options.jar isnt false and cookies?
       options.jar.setCookies if _(cookies).isArray() then cookies else [cookies]
-
     if should_redirect options, resp
       return req.emit 'error', 'Exceeded max redirects' if options.maxRedirects is 0
       redirect_options = {}

      redirect_options.uri = url.resolve options.href, redirect_options.uri if not is_uri redirect_options.uri
      return quest redirect_options, cb

    resp.setEncoding 'utf-8'
    body = ''

    resp.on 'data', (part) -> body += part if part?
    resp.on 'end', (part) ->
      body += part if part?

  jar.add = jar.setCookie
  jar.get = (uri) -> jar.getCookies url.parse uri
  jar
quest.cookie = cookiejar.Cookie
module.exports = quest