Skip to main content

An HTTP interaction recorder for Twisted Web

Project description

An HTTP interaction recorder for Twisted Web. It aims to be compatible with the cassette format used by the VCR library for Ruby and ports like Betamax for Python, but with an API based on Twisted Web Agents.

Stenographer is not production-ready software. It’s currently composed mostly of bits hacked out of Omnipresence’s test helpers, is nowhere near feature parity with VCR, and ironically doesn’t have a comprehensive test suite. Improvements are welcome.

Basic usage, in case the warning above wasn’t scary enough:

from stenographer import CassetteAgent
from twisted.internet import reactor
from twisted.web.client import Agent, RedirectAgent

# Use CassetteAgent to wrap the innermost agent object.  In most
# cases, this will be the basic Agent in twisted.web.client.
cassette_agent = CassetteAgent(Agent(reactor), 'cassette_path.json')
agent = RedirectAgent(cassette_agent)
deferred = agent.request('GET', 'http://www.example.com/')
# Don't forget to add a save callback to the response Deferred.
deferred.addCallback(cassette_agent.save)

Project details


Download files

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

Source Distribution

stenographer-0.1.tar.gz (8.2 kB view hashes)

Uploaded Source

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