This website works better with JavaScript 
		
			
		
		
	
	
		
		
		
		
			
	
	
		
			
				Change Log 
v2.88.0 (2018/08/10) 
v2.87.0 (2018/05/21) 
v2.86.0 (2018/05/15) 
v2.85.0 (2018/03/12) 
v2.84.0 (2018/03/12) 
v2.83.0 (2017/09/27) 
v2.82.0 (2017/09/19) 
v2.81.0 (2017/03/09) 
v2.80.0 (2017/03/04) 
v2.79.0 (2016/11/18) 
v2.78.0 (2016/11/03) 
#2447  Always set request timeout on keep-alive connections (@mscdex ) 
 
v2.77.0 (2016/11/03) 
v2.76.0 (2016/10/25) 
v2.75.0 (2016/09/17) 
v2.74.0 (2016/07/22) 
v2.73.0 (2016/07/09) 
v2.72.0 (2016/04/17) 
v2.71.0 (2016/04/12) 
#2164  Catch errors from the underlying http module (@simov ) 
 
v2.70.0 (2016/04/05) 
v2.69.0 (2016/01/27) 
#2041  restore aws4 as regular dependency (@rmg ) 
 
v2.68.0 (2016/01/27) 
v2.67.0 (2015/11/19) 
v2.66.0 (2015/11/18) 
#1906  Update README URLs based on HTTP redirects (@ReadmeCritic ) 
#1905  Convert typed arrays into regular buffers (@simov ) 
#1902  node-uuid@1.4.7 breaks build 🚨 (@greenkeeperio-bot ) 
#1894  Fix tunneling after redirection from https (Original: #1881 ) (@simov , @falms ) 
#1893  Update eslint to version 1.9.0 🚀 (@greenkeeperio-bot ) 
#1852  Update eslint to version 1.7.3 🚀 (@simov , @greenkeeperio-bot , @paulomcnally , @michelsalib , @arbaaz , @nsklkn , @LoicMahieu , @JoshWillik , @jzaefferer , @ryanwholey , @djchie , @thisconnect , @mgenereu , @acroca , @Sebmaster , @KoltesDigital ) 
#1876  Implement loose matching for har mime types (@simov ) 
#1875  Update bluebird to version 3.0.2 🚀 (@simov , @greenkeeperio-bot ) 
#1871  Update browserify to version 12.0.1 🚀 (@greenkeeperio-bot ) 
#1866  Add missing quotes on x-token property in README (@miguelmota ) 
#1874  Fix typo in README.md (@gswalden ) 
#1860  Improve referer header tests and docs (@simov ) 
#1861  Remove redundant call to Stream constructor (@watson ) 
#1857  Fix Referer header to point to the original host name (@simov ) 
#1850  Update karma-coverage to version 0.5.3 🚀 (@greenkeeperio-bot ) 
#1847  Use node's latest version when building (@simov ) 
#1836  Tunnel: fix wrong property name (@KoltesDigital ) 
#1820  Set href as request.js uses it (@mgenereu ) 
#1840  Update http-signature to version 1.0.2 🚀 (@greenkeeperio-bot ) 
#1845  Update istanbul to version 0.4.0 🚀 (@greenkeeperio-bot ) 
 
v2.65.0 (2015/10/11) 
v2.64.0 (2015/09/25) 
v2.63.0 (2015/09/21) 
#1772  Set default application/json content-type when using json option (@jzaefferer ) 
 
v2.62.0 (2015/09/15) 
v2.61.0 (2015/08/19) 
v2.60.0 (2015/07/21) 
v2.59.0 (2015/07/20) 
#1671  Add tests and docs for using the agent, agentClass, agentOptions and forever options.
Forever option defaults to using http(s).Agent in node 0.12+ (@simov ) 
#1679  Fix - do not remove OAuth param when using OAuth realm (@simov , @jhalickman ) 
#1668  updated dependencies (@deamme ) 
#1656  Fix form method (@simov ) 
#1651  Preserve HEAD method when using followAllRedirects (@simov ) 
#1652  Update encoding option documentation in README.md (@daniel347x ) 
#1650  Allow content-type overriding when using the form option (@simov ) 
#1646  Clarify the nature of setting ca in agentOptions (@jeffcharles ) 
 
v2.58.0 (2015/06/16) 
v2.57.0 (2015/05/31) 
#1615  Replace '.client' with '.socket' as the former was deprecated in 2.2.0. (@ChALkeR ) 
 
v2.56.0 (2015/05/28) 
v2.55.0 (2015/04/05) 
v2.54.0 (2015/03/24) 
#1501  HTTP Archive 1.2 support (@ahmadnassri ) 
#1486  Add a test for the forever agent (@akshayp ) 
#1500  Adding handling for no auth method and null bearer (@philberg ) 
#1498  Add table of contents in readme (@simov ) 
#1477  Add support for qs options via qsOptions key (@simov ) 
#1496  Parameters encoded to base 64 should be decoded as UTF-8, not ASCII. (@albanm ) 
#1494  Update eslint (@froatsnook ) 
#1474  Require Colon in Basic Auth (@erykwalder ) 
#1481  Fix baseUrl and redirections. (@burningtree ) 
#1469  Feature/base url (@froatsnook ) 
#1459  Add option to time request/response cycle (including rollup of redirects) (@aaron-em ) 
#1468  Re-enable io.js/node 0.12 build (@simov , @mikeal , @BBB ) 
#1442  Fixed the issue with strictSSL tests on  0.12 & io.js by explicitly setting a cipher that matches the cert. (@BBB , @nickmccurdy , @demohi , @simov , @0x4139 ) 
#1460  localAddress or proxy config is lost when redirecting (@simov , @0x4139 ) 
#1453  Test on Node.js 0.12 and io.js with allowed failures (@nickmccurdy , @demohi ) 
#1426  Fixing tests to pass on io.js and node 0.12 (only test-https.js stiff failing) (@mikeal ) 
#1446  Missing HTTP referer header with redirects Fixes #1038  (@simov , @guimon ) 
#1428  Deprecate Node v0.8.x (@nylen ) 
#1436  Add ability to set a requester without setting default options (@tikotzky ) 
#1435  dry up verb methods (@sethpollack ) 
#1423  Allow fully qualified multipart content-type header (@simov ) 
#1430  Fix recursive requester (@tikotzky ) 
#1429  Throw error when making HEAD request with a body (@tikotzky ) 
#1419  Add note that the project is broken in 0.12.x (@nylen ) 
#1413  Fix basic auth (@simov ) 
#1397  Improve pipe-from-file tests (@nylen ) 
 
v2.53.0 (2015/02/02) 
v2.52.0 (2015/02/02) 
#1383  Add missing HTTPS options that were not being passed to tunnel (@brichard19 ) (@nylen ) 
#1388  Upgrade mime-types package version (@roderickhsiao ) 
#1389  Revise Setup Tunnel Function (@seanstrom ) 
#1374  Allow explicitly disabling tunneling for proxied https destinations (@nylen ) 
#1376  Use karma-browserify for tests. Add browser test coverage reporter. (@eiriksm ) 
#1366  Refactor OAuth into separate module (@simov ) 
#1373  Rewrite tunnel test to be pure Node.js (@nylen ) 
#1371  Upgrade test reporter (@nylen ) 
#1360  Refactor basic, bearer, digest auth logic into separate class (@simov ) 
#1354  Remove circular dependency from debugging code (@nylen ) 
#1351  Move digest auth into private prototype method (@simov ) 
#1352  Update hawk dependency to ~2.3.0 (@mridgway ) 
#1353  Correct travis-ci badge (@dogancelik ) 
#1349  Make sure we return on errored browser requests. (@eiriksm ) 
#1346  getProxyFromURI Extraction Refactor (@seanstrom ) 
#1337  Standardize test ports on 6767 (@nylen ) 
#1341  Emit FormData error events as Request error events (@nylen , @rwky ) 
#1343  Clean up readme badges, and add Travis and Coveralls badges (@nylen ) 
#1345  Update README.md (@Aaron-Hartwig ) 
#1338  Always wait for server.close() callback in tests (@nylen ) 
#1342  Add mock https server and redo start of browser tests for this purpose. (@eiriksm ) 
#1339  Improve auth docs (@nylen ) 
#1335  Add support for OAuth plaintext signature method (@simov ) 
#1332  Add clean script to remove test-browser.js after the tests run (@seanstrom ) 
#1327  Fix errors generating coverage reports. (@nylen ) 
#1330  Return empty buffer upon empty response body and encoding is set to null (@seanstrom ) 
#1326  Use faster container-based infrastructure on Travis (@nylen ) 
#1315  Implement rfc3986 option (@simov , @nylen , @apoco , @DullReferenceException , @mmalecki , @oliamb , @cliffcrosland , @LewisJEllis , @eiriksm , @poislagarde ) 
#1314  Detect urlencoded form data header via regex (@simov ) 
#1317  Improve OAuth1.0 server side flow example (@simov ) 
 
v2.51.0 (2014/12/10) 
v2.50.0 (2014/12/09) 
v2.49.0 (2014/11/28) 
v2.48.0 (2014/11/12) 
v2.47.0 (2014/10/26) 
v2.46.0 (2014/10/23) 
v2.45.0 (2014/10/06) 
v2.43.0 (2014/09/18) 
v2.42.0 (2014/09/04) 
v2.41.0 (2014/09/04) 
v2.40.0 (2014/08/06) 
v2.39.0 (2014/07/24) 
v2.38.0 (2014/07/22) 
v2.37.0 (2014/07/07) 
v2.35.0 (2014/05/17) 
v2.34.0 (2014/02/18) 
#516  UNIX Socket URL Support (@lyuzashi ) 
#801  794 ignore cookie parsing and domain errors (@lalitkapoor ) 
#802  Added the Apache license to the package.json. (@keskival ) 
#793  Adds content-length calculation when submitting forms using form-data li... (@Juul ) 
#785  Provide ability to override content-type when json option used (@vvo ) 
#781  simpler isReadStream function (@joaojeronimo ) 
 
v2.32.0 (2014/01/16) 
v2.31.0 (2014/01/08) 
#645  update twitter api url to v1.1 (@mick ) 
#746  README: Markdown code highlight (@weakish ) 
#745  updating setCookie example to make it clear that the callback is required (@emkay ) 
#742  Add note about JSON output body type (@iansltx ) 
#741  README example is using old cookie jar api (@emkay ) 
#736  Fix callback arguments documentation (@mmalecki ) 
#732  JSHINT: Creating global 'for' variable. Should be 'for (var ...'. (@Fritz-Lium ) 
#730  better HTTP DIGEST support (@dai-shi ) 
#728  Fix TypeError when calling request.cookie (@scarletmeow ) 
#727  fix requester bug (@jchris ) 
#724  README.md: add custom HTTP Headers example. (@tcort ) 
#719  Made a comment gender neutral. (@unsetbit ) 
#715  Request.multipart no longer crashes when header 'Content-type' present (@pastaclub ) 
#710  Fixing listing in callback part of docs. (@lukasz-zak ) 
#696  Edited README.md for formatting and clarity of phrasing (@Zearin ) 
#694  Typo in README (@VRMink ) 
#690  Handle blank password in basic auth. (@diversario ) 
#682  Optional dependencies (@Turbo87 ) 
#683  Travis CI support (@Turbo87 ) 
#674  change cookie module,to tough-cookie.please check it . (@sxyizhiren ) 
#666  make ciphers and secureProtocol to work in https request (@richarddong ) 
#656  Test case for #304 . (@diversario ) 
#662  option.tunnel to explicitly disable tunneling (@seanmonstar ) 
#659  fix failure when running with NODE_DEBUG=request, and a test for that (@jrgm ) 
#630  Send random cnonce for HTTP Digest requests (@wprl ) 
#619  decouple things a bit (@joaojeronimo ) 
#613  Fixes #583 , moved initialization of self.uri.pathname (@lexander ) 
#605  Only include ":" + pass in Basic Auth if it's defined (fixes #602 ) (@bendrucker ) 
#596  Global agent is being used when pool is specified (@Cauldrath ) 
#594  Emit complete event when there is no callback (@RomainLK ) 
#601  Fixed a small typo (@michalstanko ) 
#589  Prevent setting headers after they are sent (@geek ) 
#587  Global cookie jar disabled by default (@threepointone ) 
#544  Update http-signature version. (@davidlehn ) 
#581  Fix spelling of "ignoring." (@bigeasy ) 
#568  use agentOptions to create agent when specified in request (@SamPlacette ) 
#564  Fix redirections (@criloz ) 
#541  The exported request function doesn't have an auth method (@tschaub ) 
#542  Expose Request class (@regality ) 
#536  Allow explicitly empty user field for basic authentication. (@mikeando ) 
#532  fix typo (@fredericosilva ) 
#497  Added redirect event (@Cauldrath ) 
#503  Fix basic auth for passwords that contain colons (@tonistiigi ) 
#521  Improving test-localAddress.js (@noway ) 
#529  dependencies versions bump (@jodaka ) 
#523  Updating dependencies (@noway ) 
#520  Fixing test-tunnel.js (@noway ) 
#519  Update internal path state on post-creation QS changes (@jblebrun ) 
#510  Add HTTP Signature support. (@davidlehn ) 
#502  Fix POST (and probably other) requests that are retried after 401 Unauthorized (@nylen ) 
#508  Honor the .strictSSL option when using proxies (tunnel-agent) (@jhs ) 
#512  Make password optional to support the format: http://username@hostname/  (@pajato1 ) 
#513  add 'localAddress' support (@yyfrankyy ) 
#498  Moving response emit above setHeaders on destination streams (@kenperkins ) 
#490  Empty response body (3-rd argument) must be passed to callback as an empty string (@Olegas ) 
#479  Changing so if Accept header is explicitly set, sending json does not ov... (@RoryH ) 
#475  Use unescape from querystring (@shimaore ) 
#473  V0.10 compat (@isaacs ) 
#471  Using querystring library from visionmedia (@kbackowski ) 
#461  Strip the UTF8 BOM from a UTF encoded response (@kppullin ) 
#460  hawk 0.10.0 (@hueniverse ) 
#462  if query params are empty, then request path shouldn't end with a '?' (merges cleanly now) (@jaipandya ) 
#456  hawk 0.9.0 (@hueniverse ) 
#429  Copy options before adding callback. (@nrn , @nfriedly , @youurayy , @jplock , @kapetan , @landeiro , @othiym23 , @mmalecki ) 
#454  Destroy the response if present when destroying the request (clean merge) (@mafintosh ) 
#310  Twitter Oauth Stuff Out of Date; Now Updated (@joemccann , @isaacs , @mscdex ) 
#413  rename googledoodle.png to .jpg (@nfriedly , @youurayy , @jplock , @kapetan , @landeiro , @othiym23 , @mmalecki ) 
#448  Convenience method for PATCH (@mloar ) 
#444  protect against double callbacks on error path (@spollack ) 
#433  Added support for HTTPS cert & key (@mmalecki ) 
#430  Respect specified {Host,host} headers, not just {host} (@andrewschaaf ) 
#415  Fixed a typo. (@jerem ) 
#338  Add more auth options, including digest support (@nylen ) 
#403  Optimize environment lookup to happen once only (@mmalecki ) 
#398  Add more reporting to tests (@mmalecki ) 
#388  Ensure "safe" toJSON doesn't break EventEmitters (@othiym23 ) 
#381  Resolving "Invalid signature. Expected signature base string: " (@landeiro ) 
#380  Fixes missing host header on retried request when using forever agent (@mac- ) 
#376  Headers lost on redirect (@kapetan ) 
#375  Fix for missing oauth_timestamp parameter (@jplock ) 
#374  Correct Host header for proxy tunnel CONNECT (@youurayy ) 
#370  Twitter reverse auth uses x_auth_mode not x_auth_type (@drudge ) 
#369  Don't remove x_auth_mode for Twitter reverse auth (@drudge ) 
#344  Make AWS auth signing find headers correctly (@nlf ) 
#363  rfc3986 on base_uri, now passes tests (@jeffmarshall ) 
#362  Running rfc3986 on base_uri in oauth.hmacsign instead of just encodeURIComponent (@jeffmarshall ) 
#361  Don't create a Content-Length header if we already have it set (@danjenkins ) 
#360  Delete self._form along with everything else on redirect (@jgautier ) 
#355  stop sending erroneous headers on redirected requests (@azylman ) 
#332  Fix #296  - Only set Content-Type if body exists (@Marsup ) 
#343  Allow AWS to work in more situations, added a note in the README on its usage (@nlf ) 
#320  request.defaults() doesn't need to wrap jar() (@StuartHarris ) 
#322  Fix + test for piped into request bumped into redirect. #321  (@alexindigo ) 
#326  Do not try to remove listener from an undefined connection (@CartoDB ) 
#318  Pass servername to tunneling secure socket creation (@isaacs ) 
#317  Workaround for #313  (@isaacs ) 
#293  Allow parser errors to bubble up to request (@mscdex ) 
#290  A test for #289  (@isaacs ) 
#280  Like in node.js print options if NODE_DEBUG contains the word request (@Filirom1 ) 
#207  Fix #206  Change HTTP/HTTPS agent when redirecting between protocols (@isaacs ) 
#214  documenting additional behavior of json option (@jphaas , @vpulim ) 
#272  Boundary begins with CRLF? (@elspoono , @timshadel , @naholyr , @nanodocumet , @TehShrike ) 
#284  Remove stray console.log() call in multipart generator. (@bcherry ) 
#241  Composability updates suggested by issue #239  (@polotek ) 
#282  OAuth Authorization header contains non-"oauth_" parameters (@jplock ) 
#279  fix tests with boundary by injecting boundry from header (@benatkin ) 
#273  Pipe back pressure issue (@mafintosh ) 
#268  I'm not OCD seriously (@TehShrike ) 
#263  Bug in OAuth key generation for sha1 (@nanodocumet ) 
#265  uncaughtException when redirected to invalid URI (@naholyr ) 
#262  JSON test should check for equality (@timshadel ) 
#261  Setting 'pool' to 'false' does NOT disable Agent pooling (@timshadel ) 
#249  Fix for the fix of your (closed) issue #89  where self.headers[content-length] is set to 0 for all methods (@sethbridges , @polotek , @zephrax , @jeromegn ) 
#255  multipart allow body === '' ( the empty string ) (@Filirom1 ) 
#260  fixed just another leak of 'i' (@sreuter ) 
#246  Fixing the set-cookie header (@jeromegn ) 
#243  Dynamic boundary (@zephrax ) 
#240  don't error when null is passed for options (@polotek ) 
#211  Replace all occurrences of special chars in RFC3986 (@chriso , @vpulim ) 
#224  Multipart content-type change (@janjongboom ) 
#217  need to use Authorization (titlecase) header with Tumblr OAuth (@visnup ) 
#203  Fix cookie and redirect bugs and add auth support for HTTPS tunnel (@vpulim ) 
#199  Tunnel (@isaacs ) 
#198  Bugfix on forever usage of util.inherits (@isaacs ) 
#197  Make ForeverAgent work with HTTPS (@isaacs ) 
#193  Fixes GH-119 (@goatslacker ) 
#188  Add abort support to the returned request (@itay ) 
#176  Querystring option (@csainty ) 
#182  Fix request.defaults to support (uri, options, callback) api (@twilson63 ) 
#180  Modified the post, put, head and del shortcuts to support uri optional param (@twilson63 ) 
#179  fix to add opts in .pipe(stream, opts) (@substack ) 
#177  Issue #173  Support uri as first and optional config as second argument (@twilson63 ) 
#170  can't create a cookie in a wrapped request (defaults) (@fabianonunes ) 
#168  Picking off an EasyFix by adding some missing mimetypes. (@serby ) 
#161  Fix cookie jar/headers.cookie collision (#125 ) (@papandreou ) 
#162  Fix issue #159  (@dpetukhov ) 
#90  add option followAllRedirects to follow post/put redirects (@jroes ) 
#148  Retry Agent (@thejh ) 
#146  Multipart should respect content-type if previously set (@apeace ) 
#144  added "form" option to readme (@petejkim ) 
#133  Fixed cookies parsing (@afanasy ) 
#135  host vs hostname (@iangreenleaf ) 
#132  return the body as a Buffer when encoding is set to null (@jahewson ) 
#112  Support using a custom http-like module (@jhs ) 
#104  Cookie handling contains bugs (@janjongboom ) 
#121  Another patch for cookie handling regression (@jhurliman ) 
#117  Remove the global i (@3rd-Eden ) 
#110  Update to Iris Couch URL (@jhs ) 
#86  Can't post binary to multipart requests (@kkaefer ) 
#105  added test for proxy option. (@dominictarr ) 
#102  Implemented cookies - closes issue 82: https://github.com/mikeal/request/issues/82  (@alessioalex ) 
#97  Typo in previous pull causes TypeError in non-0.5.11 versions (@isaacs ) 
#96  Authless parsed url host support (@isaacs ) 
#81  Enhance redirect handling (@danmactough ) 
#78  Don't try to do strictSSL for non-ssl connections (@isaacs ) 
#76  Bug when a request fails and a timeout is set (@Marsup ) 
#70  add test script to package.json (@isaacs , @aheckmann ) 
#73  Fix #71  Respect the strictSSL flag (@isaacs ) 
#69  Flatten chunked requests properly (@isaacs ) 
#67  fixed global variable leaks (@aheckmann ) 
#66  Do not overwrite established content-type headers for read stream deliver (@voodootikigod ) 
#53  Parse json: Issue #51  (@benatkin ) 
#45  Added timeout option (@mbrevoort ) 
#35  The "end" event isn't emitted for some responses (@voxpelli ) 
#31  Error on piping a request to a destination (@tobowers )