Skip to main content

Generic interface to access HTTP clients

Project description

anyhttp provides a generic layer to use existing http clients.

The primary purpose is to be used by packages which need http, do not need or want to depend on one of the existing clients, and/or want to re-used by applications which already have a dependency on a http clients.

anyhttp supports:

  • requests
  • httplib2
  • urllib3
  • pycurl
  • fido
  • httq
  • async_http
  • webob
  • urlfetch
  • simplefetch
  • httputils
  • tornado
  • ihttp
  • basic_http
  • unirest
  • httpstream
  • http1
  • reqres
  • tinydav
  • ultralite
  • urlgrabber
  • dogbutler
  • pylhttp
  • hyper
  • asynchttp
  • geventhttpclient
  • streaming_httplib2
  • bolacha
  • drest
  • httxlib
  • dugong
  • aiohttp
  • yieldfrom.http.client

Normal use

Normal usage of anyhttp involves simply using either:

anyhttp.get_text(url) anyhttp.get_binary(url)

anyhttp will look for a capable http clients in sys.modules. The sequence will look like:

app:

import httplib2 # must be first

import your_package

your_package:

import anyhttp

anyhttp:

http = Wrapper(httplib2)

Testing

anyhttp includes tests that verify the supported clients can perform certain http operations, and that test suite allows basic HTTP conformance testing of HTTP features.

It is easy to add a new client to the test suite. The list of supported clients is in the main anyhttp module, and the test suite automatically applies the tests to new clients added.

The automatic support of additional clients is achieved using python package testscenarios with an unmerged patch. This can be installed from https://code.launchpad.net/~jayvdb/testscenarios/0.4-with_scenarios

Project details


Release history Release notifications

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for anyhttp, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size anyhttp-0.1-py3-none-any.whl (7.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size anyhttp-0.1.tar.gz (25.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page