Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@sailshq/request

sailshq10.5kApache-2.02.88.3

A fork of Request with ongoing maintenance from the Sails core team.

http, simple, util, utility

readme

@sailshq/request

A fork of the now deprecated Request HTTP request client with ongoing maintenance from the Sails core team.

This repo will only be updated when there are immediate, material issues affecting expected usage.

Changes since request@2.88.1

  • Updated README & package.json

Contributing

Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.

NPM

License

Request license

Request is free and open source under the Apache 2.0 License.

Supplementary license

All ad hoc additions in this repo are Apache 2.0-licensed, copyright © 2020 The Sails Company.

Sails framework license

The Sails framework is free and open-source under the MIT License.

changelog

Change Log

v2.88.0 (2018/08/10)

  • #2996 fix(uuid): import versioned uuid (@kwonoj)
  • #2994 Update to oauth-sign 0.9.0 (@dlecocq)
  • #2993 Fix header tests (@simov)
  • #2904 #515, #2894 Strip port suffix from Host header if the protocol is known. (#2904) (@paambaati)
  • #2791 Improve AWS SigV4 support. (#2791) (@vikhyat)
  • #2977 Update test certificates (@simov)

v2.87.0 (2018/05/21)

  • #2943 Replace hawk dependency with a local implemenation (#2943) (@hueniverse)

v2.86.0 (2018/05/15)

  • #2885 Remove redundant code (for Node.js 0.9.4 and below) and dependency (@ChALkeR)
  • #2942 Make Test GREEN Again! (@simov)
  • #2923 Alterations for failing CI tests (@gareth-robinson)

v2.85.0 (2018/03/12)

  • #2880 Revert "Update hawk to 7.0.7 (#2880)" (@simov)

v2.84.0 (2018/03/12)

  • #2793 Fixed calculation of oauth_body_hash, issue #2792 (@dvishniakov)
  • #2880 Update hawk to 7.0.7 (#2880) (@kornel-kedzierski)

v2.83.0 (2017/09/27)

  • #2776 Updating tough-cookie due to security fix. (#2776) (@karlnorling)

v2.82.0 (2017/09/19)

  • #2703 Add Node.js v8 to Travis CI (@ryysud)
  • #2751 Update of hawk and qs to latest version (#2751) (@Olivier-Moreau)
  • #2658 Fixed some text in README.md (#2658) (@Marketionist)
  • #2635 chore(package): update aws-sign2 to version 0.7.0 (#2635) (@greenkeeperio-bot)
  • #2641 Update README to simplify & update convenience methods (#2641) (@FredKSchott)
  • #2541 Add convenience method for HTTP OPTIONS (#2541) (@jamesseanwright)
  • #2605 Add promise support section to README (#2605) (@FredKSchott)
  • #2579 refactor(lint): replace eslint with standard (#2579) (@ahmadnassri)
  • #2598 Update codecov to version 2.0.2 🚀 (@greenkeeperio-bot)
  • #2590 Adds test-timing keepAlive test (@nicjansma)
  • #2589 fix tabulation on request example README.MD (@odykyi)
  • #2594 chore(dependencies): har-validator to 5.x [removes babel dep] (@ahmadnassri)

v2.81.0 (2017/03/09)

  • #2584 Security issue: Upgrade qs to version 6.4.0 (@sergejmueller)
  • #2578 safe-buffer doesn't zero-fill by default, its just a polyfill. (#2578) (@mikeal)
  • #2566 Timings: Tracks 'lookup', adds 'wait' time, fixes connection re-use (#2566) (@nicjansma)
  • #2574 Migrating to safe-buffer for improved security. (@mikeal)
  • #2573 fixes #2572 (@ahmadnassri)

v2.80.0 (2017/03/04)

  • #2571 Correctly format the Host header for IPv6 addresses (@JamesMGreene)
  • #2558 Update README.md example snippet (@FredKSchott)
  • #2221 Adding a simple Response object reference in argument specification (@calamarico)
  • #2452 Adds .timings array with DNC, TCP, request and response times (@nicjansma)
  • #2553 add ISSUE_TEMPLATE, move PR template (@FredKSchott)
  • #2539 Create PULL_REQUEST_TEMPLATE.md (@FredKSchott)
  • #2524 Update caseless to version 0.12.0 🚀 (@greenkeeperio-bot)
  • #2460 Fix wrong MIME type in example (@OwnageIsMagic)
  • #2514 Change tags to keywords in package.json (@humphd)
  • #2492 More lenient gzip decompression (@addaleax)

v2.79.0 (2016/11/18)

  • #2368 Fix typeof check in test-pool.js (@forivall)
  • #2394 Use files in package.json (@SimenB)
  • #2463 AWS support for session tokens for temporary credentials (@simov)
  • #2467 Migrate to uuid (@simov, @antialias)
  • #2459 Update taper to version 0.5.0 🚀 (@greenkeeperio-bot)
  • #2448 Make other connect timeout test more reliable too (@mscdex)

v2.78.0 (2016/11/03)

  • #2447 Always set request timeout on keep-alive connections (@mscdex)

v2.77.0 (2016/11/03)

  • #2439 Fix socket 'connect' listener handling (@mscdex)
  • #2442 👻😱 Node.js 0.10 is unmaintained 😱👻 (@greenkeeperio-bot)
  • #2435 Add followOriginalHttpMethod to redirect to original HTTP method (@kirrg001)
  • #2414 Improve test-timeout reliability (@mscdex)

v2.76.0 (2016/10/25)

  • #2424 Handle buffers directly instead of using "bl" (@zertosh)
  • #2415 Re-enable timeout tests on Travis + other fixes (@mscdex)
  • #2431 Improve timeouts accuracy and node v6.8.0+ compatibility (@mscdex, @greenkeeperio-bot)
  • #2428 Update qs to version 6.3.0 🚀 (@greenkeeperio-bot)
  • #2420 change .on to .once, remove possible memory leaks (@duereg)
  • #2426 Remove "isFunction" helper in favor of "typeof" check (@zertosh)
  • #2425 Simplify "defer" helper creation (@zertosh)
  • #2402 form-data@2.1.1 breaks build 🚨 (@greenkeeperio-bot)
  • #2393 Update form-data to version 2.1.0 🚀 (@greenkeeperio-bot)

v2.75.0 (2016/09/17)

  • #2381 Drop support for Node 0.10 (@simov)
  • #2377 Update form-data to version 2.0.0 🚀 (@greenkeeperio-bot)
  • #2353 Add greenkeeper ignored packages (@simov)
  • #2351 Update karma-tap to version 3.0.1 🚀 (@greenkeeperio-bot)
  • #2348 form-data@1.0.1 breaks build 🚨 (@greenkeeperio-bot)
  • #2349 Check error type instead of string (@scotttrinh)

v2.74.0 (2016/07/22)

  • #2295 Update tough-cookie to 2.3.0 (@stash-sfdc)
  • #2280 Update karma-tap to version 2.0.1 🚀 (@greenkeeperio-bot)

v2.73.0 (2016/07/09)

  • #2240 Remove connectionErrorHandler to fix #1903 (@zarenner)
  • #2251 tape@4.6.0 breaks build 🚨 (@greenkeeperio-bot)
  • #2225 Update docs (@ArtskydJ)
  • #2203 Update browserify to version 13.0.1 🚀 (@greenkeeperio-bot)
  • #2275 Update karma to version 1.1.1 🚀 (@greenkeeperio-bot)
  • #2204 Add codecov.yml and disable PR comments (@simov)
  • #2212 Fix link to http.IncomingMessage documentation (@nazieb)
  • #2208 Update to form-data RC4 and pass null values to it (@simov)
  • #2207 Move aws4 require statement to the top (@simov)
  • #2199 Update karma-coverage to version 1.0.0 🚀 (@greenkeeperio-bot)
  • #2206 Update qs to version 6.2.0 🚀 (@greenkeeperio-bot)
  • #2205 Use server-destory to close hanging sockets in tests (@simov)
  • #2200 Update karma-cli to version 1.0.0 🚀 (@greenkeeperio-bot)

v2.72.0 (2016/04/17)

  • #2176 Do not try to pipe Gzip responses with no body (@simov)
  • #2175 Add 'delete' alias for the 'del' API method (@simov, @MuhanZou)
  • #2172 Add support for deflate content encoding (@czardoz)
  • #2169 Add callback option (@simov)
  • #2165 Check for self.req existence inside the write method (@simov)
  • #2167 Fix TravisCI badge reference master branch (@a0viedo)

v2.71.0 (2016/04/12)

  • #2164 Catch errors from the underlying http module (@simov)

v2.70.0 (2016/04/05)

  • #2147 Update eslint to version 2.5.3 🚀 (@simov, @greenkeeperio-bot)
  • #2009 Support JSON stringify replacer argument. (@elyobo)
  • #2142 Update eslint to version 2.5.1 🚀 (@greenkeeperio-bot)
  • #2128 Update browserify-istanbul to version 2.0.0 🚀 (@greenkeeperio-bot)
  • #2115 Update eslint to version 2.3.0 🚀 (@simov, @greenkeeperio-bot)
  • #2089 Fix badges (@simov)
  • #2092 Update browserify-istanbul to version 1.0.0 🚀 (@greenkeeperio-bot)
  • #2079 Accept read stream as body option (@simov)
  • #2070 Update bl to version 1.1.2 🚀 (@greenkeeperio-bot)
  • #2063 Up bluebird and oauth-sign (@simov)
  • #2058 Karma fixes for latest versions (@eiriksm)
  • #2057 Update contributing guidelines (@simov)
  • #2054 Update qs to version 6.1.0 🚀 (@greenkeeperio-bot)

v2.69.0 (2016/01/27)

  • #2041 restore aws4 as regular dependency (@rmg)

v2.68.0 (2016/01/27)

  • #2036 Add AWS Signature Version 4 (@simov, @mirkods)
  • #2022 Convert numeric multipart bodies to string (@simov, @feross)
  • #2024 Update har-validator dependency for nsp advisory #76 (@TylerDixon)
  • #2016 Update qs to version 6.0.2 🚀 (@greenkeeperio-bot)
  • #2007 Use the extend module instead of util._extend (@simov)
  • #2003 Update browserify to version 13.0.0 🚀 (@greenkeeperio-bot)
  • #1989 Update buffer-equal to version 1.0.0 🚀 (@greenkeeperio-bot)
  • #1956 Check form-data content-length value before setting up the header (@jongyoonlee)
  • #1958 Use IncomingMessage.destroy method (@simov)
  • #1952 Adds example for Tor proxy (@prometheansacrifice)
  • #1943 Update eslint to version 1.10.3 🚀 (@simov, @greenkeeperio-bot)
  • #1924 Update eslint to version 1.10.1 🚀 (@greenkeeperio-bot)
  • #1915 Remove content-length and transfer-encoding headers from defaultProxyHeaderWhiteList (@yaxia)

v2.67.0 (2015/11/19)

  • #1913 Update http-signature to version 1.1.0 🚀 (@greenkeeperio-bot)

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)

  • #1833 Update aws-sign2 to version 0.6.0 🚀 (@greenkeeperio-bot)
  • #1811 Enable loose cookie parsing in tough-cookie (@Sebmaster)
  • #1830 Bring back tilde ranges for all dependencies (@simov)
  • #1821 Implement support for RFC 2617 MD5-sess algorithm. (@BigDSK)
  • #1828 Updated qs dependency to 5.2.0 (@acroca)
  • #1818 Extract readResponseBody method out of onRequestResponse (@pvoisin)
  • #1819 Run stringify once (@mgenereu)
  • #1814 Updated har-validator to version 2.0.2 (@greenkeeperio-bot)
  • #1807 Updated tough-cookie to version 2.1.0 (@greenkeeperio-bot)
  • #1800 Add caret ranges for devDependencies, except eslint (@simov)
  • #1799 Updated karma-browserify to version 4.4.0 (@greenkeeperio-bot)
  • #1797 Updated tape to version 4.2.0 (@greenkeeperio-bot)
  • #1788 Pinned all dependencies (@greenkeeperio-bot)

v2.64.0 (2015/09/25)

  • #1787 npm ignore examples, release.sh and disabled.appveyor.yml (@thisconnect)
  • #1775 Fix typo in README.md (@djchie)
  • #1776 Changed word 'conjuction' to read 'conjunction' in README.md (@ryanwholey)
  • #1785 Revert: Set default application/json content-type when using json option #1772 (@simov)

v2.63.0 (2015/09/21)

  • #1772 Set default application/json content-type when using json option (@jzaefferer)

v2.62.0 (2015/09/15)

  • #1768 Add node 4.0 to the list of build targets (@simov)
  • #1767 Query strings now cooperate with unix sockets (@JoshWillik)
  • #1750 Revert doc about installation of tough-cookie added in #884 (@LoicMahieu)
  • #1746 Missed comma in Readme (@nsklkn)
  • #1743 Fix options not being initialized in defaults method (@simov)

v2.61.0 (2015/08/19)

  • #1721 Minor fix in README.md (@arbaaz)
  • #1733 Avoid useless Buffer transformation (@michelsalib)
  • #1726 Update README.md (@paulomcnally)
  • #1715 Fix forever option in node > 0.10 #1709 (@calibr)
  • #1716 Do not create Buffer from Object in setContentLength(iojs v3.0 issue) (@calibr)
  • #1711 Add ability to detect connect timeouts (@kevinburke)
  • #1712 Set certificate expiration to August 2, 2018 (@kevinburke)
  • #1700 debug() when JSON.parse() on a response body fails (@phillipj)

v2.60.0 (2015/07/21)

  • #1687 Fix caseless bug - content-type not being set for multipart/form-data (@simov, @garymathews)

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)

  • #1638 Use the extend module to deep extend in the defaults method (@simov)
  • #1631 Move tunnel logic into separate module (@simov)
  • #1634 Fix OAuth query transport_method (@simov)
  • #1603 Add codecov (@simov)

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)

  • #1610 Bump module dependencies (@simov)
  • #1600 Extract the querystring logic into separate module (@simov)
  • #1607 Re-generate certificates (@simov)
  • #1599 Move getProxyFromURI logic below the check for Invaild URI (#1595) (@simov)
  • #1598 Fix the way http verbs are defined in order to please intellisense IDEs (@simov, @flannelJesus)
  • #1591 A few minor fixes: (@simov)
  • #1584 Refactor test-default tests (according to comments in #1430) (@simov)
  • #1585 Fixing documentation regarding TLS options (#1583) (@mainakae)
  • #1574 Refresh the oauth_nonce on redirect (#1573) (@simov)
  • #1570 Discovered tests that weren't properly running (@seanstrom)
  • #1569 Fix pause before response arrives (@kevinoid)
  • #1558 Emit error instead of throw (@simov)
  • #1568 Fix stall when piping gzipped response (@kevinoid)
  • #1560 Update combined-stream (@apechimp)
  • #1543 Initial support for oauth_body_hash on json payloads (@simov, @aesopwolf)
  • #1541 Fix coveralls (@simov)
  • #1540 Fix recursive defaults for convenience methods (@simov)
  • #1536 More eslint style rules (@froatsnook)
  • #1533 Adding dependency status bar to README.md (@YasharF)
  • #1539 ensure the latest version of har-validator is included (@ahmadnassri)
  • #1516 forever+pool test (@devTristan)

v2.55.0 (2015/04/05)

  • #1520 Refactor defaults (@simov)
  • #1525 Delete request headers with undefined value. (@froatsnook)
  • #1521 Add promise tests (@simov)
  • #1518 Fix defaults (@simov)
  • #1515 Allow static invoking of convenience methods (@simov)
  • #1505 Fix multipart boundary extraction regexp (@simov)
  • #1510 Fix basic auth form data (@simov)

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)

  • #1396 Do not rfc3986 escape JSON bodies (@nylen, @simov)
  • #1392 Improve timeout option description (@watson)

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)

  • #1308 Add browser test to keep track of browserify compability. (@eiriksm)
  • #1299 Add optional support for jsonReviver (@poislagarde)
  • #1277 Add Coveralls configuration (@simov)
  • #1307 Upgrade form-data, add back browserify compability. Fixes #455. (@eiriksm)
  • #1305 Fix typo in README.md (@LewisJEllis)
  • #1288 Update README.md to explain custom file use case (@cliffcrosland)

v2.49.0 (2014/11/28)

  • #1295 fix(proxy): no-proxy false positive (@oliamb)
  • #1292 Upgrade caseless to 0.8.1 (@mmalecki)
  • #1276 Set transfer encoding for multipart/related to chunked by default (@simov)
  • #1275 Fix multipart content-type headers detection (@simov)
  • #1269 adds streams example for review (@tbuchok)
  • #1238 Add examples README.md (@simov)

v2.48.0 (2014/11/12)

  • #1263 Fixed a syntax error / typo in README.md (@xna2)
  • #1253 Add multipart chunked flag (@simov, @nylen)
  • #1251 Clarify that defaults() does not modify global defaults (@nylen)
  • #1250 Improve documentation for pool and maxSockets options (@nylen)
  • #1237 Documenting error handling when using streams (@vmattos)
  • #1244 Finalize changelog command (@nylen)
  • #1241 Fix typo (@alexanderGugel)
  • #1223 Show latest version number instead of "upcoming" in changelog (@nylen)
  • #1236 Document how to use custom CA in README (#1229) (@hypesystem)
  • #1228 Support for oauth with RSA-SHA1 signing (@nylen)
  • #1216 Made json and multipart options coexist (@nylen, @simov)
  • #1225 Allow header white/exclusive lists in any case. (@RReverser)

v2.47.0 (2014/10/26)

  • #1222 Move from mikeal/request to request/request (@nylen)
  • #1220 update qs dependency to 2.3.1 (@FredKSchott)
  • #1212 Improve tests/test-timeout.js (@nylen)
  • #1219 remove old globalAgent workaround for node 0.4 (@request)
  • #1214 Remove cruft left over from optional dependencies (@nylen)
  • #1215 Add proxyHeaderExclusiveList option for proxy-only headers. (@RReverser)
  • #1211 Allow 'Host' header instead of 'host' and remember case across redirects (@nylen)
  • #1208 Improve release script (@nylen)
  • #1213 Support for custom cookie store (@nylen, @mitsuru)
  • #1197 Clean up some code around setting the agent (@FredKSchott)
  • #1209 Improve multipart form append test (@simov)
  • #1207 Update changelog (@nylen)
  • #1185 Stream multipart/related bodies (@simov)

v2.46.0 (2014/10/23)

  • #1198 doc for TLS/SSL protocol options (@shawnzhu)
  • #1200 Add a Gitter chat badge to README.md (@gitter-badger)
  • #1196 Upgrade taper test reporter to v0.3.0 (@nylen)
  • #1199 Fix lint error: undeclared var i (@nylen)
  • #1191 Move self.proxy decision logic out of init and into a helper (@FredKSchott)
  • #1190 Move _buildRequest() logic back into init (@FredKSchott)
  • #1186 Support Smarter Unix URL Scheme (@FredKSchott)
  • #1178 update form documentation for new usage (@FredKSchott)
  • #1180 Enable no-mixed-requires linting rule (@nylen)
  • #1184 Don't forward authorization header across redirects to different hosts (@nylen)
  • #1183 Correct README about pre and postamble CRLF using multipart and not mult... (@netpoetica)
  • #1179 Lint tests directory (@nylen)
  • #1169 add metadata for form-data file field (@dotcypress)
  • #1173 remove optional dependencies (@seanstrom)
  • #1165 Cleanup event listeners and remove function creation from init (@FredKSchott)
  • #1174 update the request.cookie docs to have a valid cookie example (@seanstrom)
  • #1168 create a detach helper and use detach helper in replace of nextTick (@seanstrom)
  • #1171 in post can send form data and use callback (@MiroRadenovic)
  • #1159 accept charset for x-www-form-urlencoded content-type (@seanstrom)
  • #1157 Update README.md: body with json=true (@Rob--W)
  • #1164 Disable tests/test-timeout.js on Travis (@nylen)
  • #1153 Document how to run a single test (@nylen)
  • #1144 adds documentation for the "response" event within the streaming section (@tbuchok)
  • #1162 Update eslintrc file to no longer allow past errors (@FredKSchott)
  • #1155 Support/use self everywhere (@seanstrom)
  • #1161 fix no-use-before-define lint warnings (@emkay)
  • #1156 adding curly brackets to get rid of lint errors (@emkay)
  • #1151 Fix localAddress test on OS X (@nylen)
  • #1145 documentation: fix outdated reference to setCookieSync old name in README (@FredKSchott)
  • #1131 Update pool documentation (@FredKSchott)
  • #1143 Rewrite all tests to use tape (@nylen)
  • #1137 Add ability to specifiy querystring lib in options. (@jgrund)
  • #1138 allow hostname and port in place of host on uri (@cappslock)
  • #1134 Fix multiple redirects and self.followRedirect (@blakeembrey)
  • #1130 documentation fix: add note about npm test for contributing (@FredKSchott)
  • #1120 Support/refactor request setup tunnel (@seanstrom)
  • #1129 linting fix: convert double quote strings to use single quotes (@FredKSchott)
  • #1124 linting fix: remove unneccesary semi-colons (@FredKSchott)

v2.45.0 (2014/10/06)

  • #1128 Add test for setCookie regression (@nylen)
  • #1127 added tests around using objects as values in a query string (@bcoe)
  • #1103 Support/refactor request constructor (@nylen, @seanstrom)
  • #1119 add basic linting to request library (@FredKSchott)
  • #1121 Revert "Explicitly use sync versions of cookie functions" (@nylen)
  • #1118 linting fix: Restructure bad empty if statement (@FredKSchott)
  • #1117 Fix a bad check for valid URIs (@FredKSchott)
  • #1113 linting fix: space out operators (@FredKSchott)
  • #1116 Fix typo in noProxyHost definition (@FredKSchott)
  • #1114 linting fix: Added a new operator that was missing when creating and throwing a new error (@FredKSchott)
  • #1096 No_proxy support (@samcday)
  • #1107 linting-fix: remove unused variables (@FredKSchott)
  • #1112 linting fix: Make return values consistent and more straitforward (@FredKSchott)
  • #1111 linting fix: authPieces was getting redeclared (@FredKSchott)
  • #1105 Use strict mode in request (@FredKSchott)
  • #1110 linting fix: replace lazy '==' with more strict '===' (@FredKSchott)
  • #1109 linting fix: remove function call from if-else conditional statement (@FredKSchott)
  • #1102 Fix to allow setting a requester on recursive calls to request.defaults (@tikotzky)
  • #1095 Tweaking engines in package.json (@pdehaan)
  • #1082 Forward the socket event from the httpModule request (@seanstrom)
  • #972 Clarify gzip handling in the README (@kevinoid)
  • #1089 Mention that encoding defaults to utf8, not Buffer (@stuartpb)
  • #1088 Fix cookie example in README.md and make it more clear (@pipi32167)
  • #1027 Add support for multipart form data in request options. (@crocket)
  • #1076 use Request.abort() to abort the request when the request has timed-out (@seanstrom)
  • #1068 add optional postamble required by .NET multipart requests (@netpoetica)

v2.43.0 (2014/09/18)

  • #1057 Defaults should not overwrite defined options (@davidwood)
  • #1046 Propagate datastream errors, useful in case gzip fails. (@ZJONSSON, @Janpot)
  • #1063 copy the input headers object #1060 (@finnp)
  • #1031 Explicitly use sync versions of cookie functions (@ZJONSSON)
  • #1056 Fix redirects when passing url.parse(x) as URL to convenience method (@nylen)

v2.42.0 (2014/09/04)

  • #1053 Fix #1051 Parse auth properly when using non-tunneling proxy (@isaacs)

v2.41.0 (2014/09/04)

  • #1050 Pass whitelisted headers to tunneling proxy. Organize all tunneling logic. (@isaacs, @Feldhacker)
  • #1035 souped up nodei.co badge (@rvagg)
  • #1048 Aws is now possible over a proxy (@steven-aerts)
  • #1039 extract out helper functions to a helper file (@seanstrom)
  • #1021 Support/refactor indexjs (@seanstrom)
  • #1033 Improve and document debug options (@nylen)
  • #1034 Fix readme headings (@nylen)
  • #1030 Allow recursive request.defaults (@tikotzky)
  • #1029 Fix a couple of typos (@nylen)
  • #675 Checking for SSL fault on connection before reading SSL properties (@VRMink)
  • #989 Added allowRedirect function. Should return true if redirect is allowed or false otherwise (@doronin)
  • #1025 [fixes #1023] Set self._ended to true once response has ended (@mridgway)
  • #1020 Add back removed debug metadata (@FredKSchott)
  • #1008 Moving to module instead of cutomer buffer concatenation. (@mikeal)
  • #770 Added dependency badge for README file; (@timgluz, @mafintosh, @lalitkapoor, @stash, @bobyrizov)
  • #1016 toJSON no longer results in an infinite loop, returns simple objects (@FredKSchott)
  • #1018 Remove pre-0.4.4 HTTPS fix (@mmalecki)
  • #1006 Migrate to caseless, fixes #1001 (@mikeal)
  • #995 Fix parsing array of objects (@sjonnet19)
  • #999 Fix fallback for browserify for optional modules. (@eiriksm)
  • #996 Wrong oauth signature when multiple same param keys exist [updated] (@bengl)

v2.40.0 (2014/08/06)

  • #992 Fix security vulnerability. Update qs (@poeticninja)
  • #988 “--” -> “—” (@upisfree)
  • #987 Show optional modules as being loaded by the module that reqeusted them (@iarna)

v2.39.0 (2014/07/24)

  • #976 Update README.md (@pvoznenko)

v2.38.0 (2014/07/22)

  • #952 Adding support to client certificate with proxy use case (@ofirshaked)
  • #884 Documented tough-cookie installation. (@wbyoung)
  • #935 Correct repository url (@fritx)
  • #963 Update changelog (@nylen)
  • #960 Support gzip with encoding on node pre-v0.9.4 (@kevinoid)
  • #953 Add async Content-Length computation when using form-data (@LoicMahieu)
  • #844 Add support for HTTP[S]_PROXY environment variables. Fixes #595. (@jvmccarthy)
  • #946 defaults: merge headers (@aj0strow)

v2.37.0 (2014/07/07)

  • #957 Silence EventEmitter memory leak warning #311 (@watson)
  • #955 check for content-length header before setting it in nextTick (@camilleanne)
  • #951 Add support for gzip content decoding (@kevinoid)
  • #949 Manually enter querystring in form option (@charlespwd)
  • #944 Make request work with browserify (@eiriksm)
  • #943 New mime module (@eiriksm)
  • #927 Bump version of hawk dep. (@samccone)
  • #907 append secureOptions to poolKey (@medovob)

v2.35.0 (2014/05/17)

  • #901 Fixes #555 (@pigulla)
  • #897 merge with default options (@vohof)
  • #891 fixes 857 - options object is mutated by calling request (@lalitkapoor)
  • #869 Pipefilter test (@tgohn)
  • #866 Fix typo (@dandv)
  • #861 Add support for RFC 6750 Bearer Tokens (@phedny)
  • #809 upgrade tunnel-proxy to 0.4.0 (@ksato9700)
  • #850 Fix word consistency in readme (@0xNobody)
  • #810 add some exposition to mpu example in README.md (@mikermcneil)
  • #840 improve error reporting for invalid protocols (@FND)
  • #821 added secureOptions back (@nw)
  • #815 Create changelog based on pull requests (@lalitkapoor)

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)

  • #767 Use tough-cookie CookieJar sync API (@stash)
  • #764 Case-insensitive authentication scheme (@bobyrizov)
  • #763 Upgrade tough-cookie to 0.10.0 (@stash)
  • #744 Use Cookie.parse (@lalitkapoor)
  • #757 require aws-sign2 (@mafintosh)

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)