# Contributions to the urllib3 project
## Creator & Maintainer
* Andrey Petrov <andrey.petrov@shazow.net>
## Contributors
In chronological order:
* victor.vde <http://code.google.com/u/victor.vde/>
* HTTPS patch (which inspired HTTPSConnectionPool)
* erikcederstrand <http://code.google.com/u/erikcederstrand/>
* NTLM-authenticated HTTPSConnectionPool
* Basic-authenticated HTTPSConnectionPool (merged into make_headers)
* niphlod <niphlod@gmail.com>
* Client-verified SSL certificates for HTTPSConnectionPool
* Response gzip and deflate encoding support
* Better unicode support for filepost using StringIO buffers
* btoconnor <brian@btoconnor.net>
* Non-multipart encoding for POST requests
* p.dobrogost <http://code.google.com/u/@WBRSRlBZDhBFXQB6/>
* Code review, PEP8 compliance, benchmark fix
* kennethreitz <me@kennethreitz.com>
* Bugfixes, suggestions, Requests integration
* georgemarshall <http://github.com/georgemarshall>
* Bugfixes, Improvements and Test coverage
* Thomas Kluyver <thomas@kluyver.me.uk>
* Python 3 support
* brandon-rhodes <http://rhodesmill.org/brandon>
* Design review, bugfixes, test coverage.
* studer <theo.studer@gmail.com>
* IPv6 url support and test coverage
* Shivaram Lingamneni <slingamn@cs.stanford.edu>
* Support for explicitly closing pooled connections
* hartator <hartator@gmail.com>
* Corrected multipart behavior for params
* Thomas Weißschuh <thomas@t-8ch.de>
* Support for TLS SNI
* API unification of ssl_version/cert_reqs
* SSL fingerprint and alternative hostname verification
* Bugfixes in testsuite
* Sune Kirkeby <mig@ibofobi.dk>
* Optional SNI-support for Python 2 via PyOpenSSL.
* Marc Schlaich <marc.schlaich@gmail.com>
* Various bugfixes and test improvements.
* Bryce Boe <bbzbryce@gmail.com>
* Correct six.moves conflict
* Fixed pickle support of some exceptions
* Boris Figovsky <boris.figovsky@ravellosystems.com>
* Allowed to skip SSL hostname verification
* Cory Benfield <http://lukasa.co.uk/about/>
* Stream method for Response objects.
* Return native strings in header values.
* Generate 'Host' header when using proxies.
* Jason Robinson <jaywink@basshero.org>
* Add missing WrappedSocket.fileno method in PyOpenSSL
* Audrius Butkevicius <audrius.butkevicius@elastichosts.com>
* Fixed a race condition
* Stanislav Vitkovskiy <stas.vitkovsky@gmail.com>
* Added HTTPS (CONNECT) proxy support
* Stephen Holsapple <sholsapp@gmail.com>
* Added abstraction for granular control of request fields
* Martin von Gagern <Martin.vGagern@gmx.net>
* Support for non-ASCII header parameters
* Kevin Burke <kev@inburke.com> and Pavel Kirichenko <juanych@yandex-team.ru>
* Support for separate connect and request timeouts
* Peter Waller <p@pwaller.net>
* HTTPResponse.tell() for determining amount received over the wire
* Nipunn Koorapati <nipunn1313@gmail.com>
* Ignore default ports when comparing hosts for equality
* Danilo @dbrgn <http://dbrgn.ch/>
* Disabled TLS compression by default on Python 3.2+
* Disabled TLS compression in pyopenssl contrib module
* Configurable cipher suites in pyopenssl contrib module
* Roman Bogorodskiy <roman.bogorodskiy@ericsson.com>
* Account retries on proxy errors
* Nicolas Delaby <nicolas.delaby@ezeep.com>
* Use the platform-specific CA certificate locations
* Josh Schneier <https://github.com/jschneier>
* HTTPHeaderDict and associated tests and docs
* Bugfixes, docs, test coverage
* Tahia Khan <http://tahia.tk/>
* Added Timeout examples in docs
* Arthur Grunseid <http://grunseid.com>
* source_address support and tests (with https://github.com/bui)
* Ian Cordasco <graffatcolmingov@gmail.com>
* PEP8 Compliance and Linting
* Add ability to pass socket options to an HTTP Connection
* Erik Tollerud <erik.tollerud@gmail.com>
* Support for standard library io module.
* Krishna Prasad <kprasad.iitd@gmail.com>
* Google App Engine documentation
* Aaron Meurer <asmeurer@gmail.com>
* Added Url.url, which unparses a Url
* Evgeny Kapun <abacabadabacaba@gmail.com>
* Bugfixes
* Benjamen Meyer <bm_witness@yahoo.com>
* Security Warning Documentation update for proper capture
* Shivan Sornarajah <github@sornars.com>
* Support for using ConnectionPool and PoolManager as context managers.
* Alex Gaynor <alex.gaynor@gmail.com>
* Updates to the default SSL configuration
* Tomas Tomecek <ttomecek@redhat.com>
* Implemented generator for getting chunks from chunked responses.
* tlynn <https://github.com/tlynn>
* Respect the warning preferences at import.
* David D. Riddle <ddriddle@illinois.edu>
* IPv6 bugfixes in testsuite
* Jon Wayne Parrott <jonwayne@google.com>
* App Engine environment tests.
* John Krauss <https://github.com/talos>
* Clues to debugging problems with `cryptography` dependency in docs
* Disassem <https://github.com/Disassem>
* Fix pool-default headers not applying for url-encoded requests like GET.
* James Atherfold <jlatherfold@hotmail.com>
* Bugfixes relating to cleanup of connections during errors.
* Christian Pedersen <https://github.com/chripede>
* IPv6 HTTPS proxy bugfix
* Jordan Moldow <https://github.com/jmoldow>
* Fix low-level exceptions leaking from ``HTTPResponse.stream()``.
* Predrag Gruevski <https://github.com/obi1kenobi>
* Made cert digest comparison use a constant-time algorithm.
* Adam Talsma <https://github.com/a-tal>
* Bugfix to ca_cert file paths.
* Evan Meagher <https://evanmeagher.net>
* Bugfix related to `memoryview` usage in PyOpenSSL adapter
* John Vandenberg <jayvdb@gmail.com>
* Python 2.6 fixes; pyflakes and pep8 compliance
* Andy Caldwell <andy.m.caldwell@googlemail.com>
* Bugfix related to reusing connections in indeterminate states.
* Ville Skyttä <ville.skytta@iki.fi>
* Logging efficiency improvements, spelling fixes, Travis config.
* Shige Takeda <smtakeda@gmail.com>
* Started Recipes documentation and added a recipe about handling concatenated gzip data in HTTP response
* Jesse Shapiro <jesse@jesseshapiro.net>
* Working on encoding unicode header parameter names
* Making setup.py resilient to ASCII locales
* David Foster <http://dafoster.net/>
* Ensure order of request and response headers are preserved.
* [Your name or handle] <[email or website]>
* [Brief summary of your changes]