Skip to main content

Mock HTTP server

Project description

Turq is a small HTTP server that can be scripted in a Python-based language. Use it to set up mock HTTP resources that respond with the status, headers, and body of your choosing. Turq is designed for quick interactive testing, but can be used in automated scenarios as well.

Lets you do things like

“RESTful API” resource with cross-origin support:

if route('/v1/products/:product_id'):
    if GET or HEAD:
        json({'id': product_id, 'inStock': True})
    elif PUT:
        json(request.json)      # As if we saved it
    elif DELETE:
        status(204)
    cors()      # Handles preflight requests automatically

Redirect to an index.php, which serves a gzipped, cacheable page after 3 seconds of “loading”:

if path == '/':
    redirect('/index.php')

if path == '/index.php':
    sleep(3)
    html()
    gzip()
    header('Cache-Control', 'max-age=3600')

Stream server-sent events:

header('Content-Type', 'text/event-stream')
for i in range(9000):
    sleep(1)
    chunk('data: event number %d\r\n\r\n' % i)

Built-in editor

You don’t even need to create any files, just use the built-in Web editor:

screenshot.png

Get it now

In any Python 3.4+ environment:

$ pip3 install turq
$ turq

Read the docs for more.

Thanks

BrowserStack have kindly provided a free subscription for testing HTTPolice.

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

turq-0.3.0.tar.gz (213.3 kB view details)

Uploaded Source

File details

Details for the file turq-0.3.0.tar.gz.

File metadata

  • Download URL: turq-0.3.0.tar.gz
  • Upload date:
  • Size: 213.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for turq-0.3.0.tar.gz
Algorithm Hash digest
SHA256 19c4a73d81dad4a69ce96aa8806ab8a09c3a6074cf1439051b21c41bfcf9e753
MD5 7ae38507bc9cf58f80f98b675ed410e1
BLAKE2b-256 40998ac21d0f12d17059cdab4b20b7d7b4492b1543ced537b23acefd0ab99ada

See more details on using hashes here.

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