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 | RSS feed

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.

Source Distribution

anyhttp-0.1.tar.gz (25.0 kB view hashes)

Uploaded Source

Built Distribution

anyhttp-0.1-py3-none-any.whl (7.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page