Socket
Socket
Sign inDemoInstall

httpdummy

Package Overview
Dependencies
4
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    httpdummy

A dummy http server that prints requests and responds


Maintainers
1

Readme

HTTPDummy

                                    __________________
                                   /        ________  \
                                  /   _____|       |___\
                                 |   /  __         __   |
                                /|  |  /o \   _   /o \  |  
                               | | /           \        |
                                \|/   __           __   |
                                  \    |\_________/|   /   
                                   \___|___________|__/                  
                                        |         |
                                       /\_________/\
    _   _ _____ _____ ____  ____     _/     \ /     \_
   | | | |_   _|_   _|  _ \|  _ \ _ | _ _ __ V__  _ __|___  _   _
   | |_| | | |   | | | |_) | | | | | | | '_ ` _ \| '_ ` _ \| | | |
   |  _  | | |   | | |  __/| |_| | |_| | | | | | | | | | | | |_| |
   |_| |_| |_|   |_| |_|   |____/ \__,_|_| |_| |_|_| |_| |_|\__, |
                                                            |___/

HTTPDummy is a development HTTP server tool that prints information about the requests it receives to stdout.

Installation

With PIP:

pip install httpdummy

With Docker:

docker pull ksofa2/httpdummy

Usage

usage: httpdummy [-h] [-H [HEADERS]] [-B [BODY]] [-a ADDRESS] [-p PORT]
                 [-r [RESPONSE_FILE]]

A dummy http server that prints requests and responds

optional arguments:
  -h, --help            show this help message and exit
  -H [HEADERS], --headers [HEADERS]
  -B [BODY], --body [BODY]
  -a ADDRESS, --address ADDRESS
  -p PORT, --port PORT
  -r [RESPONSE_FILE], --response-file [RESPONSE_FILE]
  • Add the -H flag to print request headers.
  • Add the -B flag to print request body.

Use the --response-file to specify a YAML file to set up custom responses for arbitrary method / path combinations. For example, this command...

httpdummy --response-file ~/repsonses.yaml

... with ~/responses.yaml contents ...

---
responses:
  GET /api/foo:
    status: 200
    headers:
      Foo: bar
      Sna: fu
    body: |+
      Hi there!

      How are you?

  POST /api/foo:
    status: 201
    headers:
      Content-type: application/json
    body: |+
      {"answer": 42}

... will make HTTPDummy respond to POST requests to /api/foo with the 201 status code, and the configured headers and body.

NOTE: When started with a response file, HTTPDummy will listen for changes to that file and restart when a change is detected to reload the response definitions.

Environment Variables

These environmental variables will be used as values for their corresponding command-line options. If the command-line option is used, that value will override the one set in the environment.

  • HTTPDUMMY_ADDRESS
  • HTTPDUMMY_PORT
  • HTTPDUMMY_HEADERS
  • HTTPDUMMY_BODY
  • HTTPDUMMY_RESPONSE_FILE

Docker

An image for HTTPDummy is available on DockerHub: https://hub.docker.com/r/ksofa2/httpdummy

docker run -it -p 127.0.0.1:5000:5000 ksofa2/httpdummy

NOTE: The HTTPDUMMY_HEADERS and HTTPDUMMY_BODY are turned on by default in the Docker image.

An example docker-compose.yaml file:

---
version: '3'

services:
  httpdummy:
    image: ksofa2/httpdummy
    environment:
      - HTTPDUMMY_RESPONSE_FILE=/srv/responses.yaml
    ports:
      - 127.0.0.1:5000:5000
    volumes:
      - .:/srv

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc