npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dummy-http-server

v0.0.2

Published

This a **very simple** dummy-http-server. It accepts any http connection with any http-method (GET, POST, PUT, DELETE) and prints detailed information about this request to STDOUT.

Downloads

12

Readme

dummy-http-server

npx dummy-http-server

This a very simple dummy-http-server. It accepts any http connection with any http-method (GET, POST, PUT, DELETE) and prints detailed information about this request to STDOUT:

  • Timestamp
  • HTTP-Method
  • HTTP-Version
  • Requested URL
  • Headers
  • Body

Use cases:

  • Development of any client-application which accesses a server.
  • Especially: debugging of your client requests if you are developing against an API which you do not control.
  • Example: the api-server does not accept your request and you want to debug the conneciton. Therefore you just want to see what your client is sending to the server.

Design goals & advantages:

  • KISS (keep it stupid simple)
  • No dependencies (only the built-in node:http module is used)
  • Simple usage
  • No extras
  • Open source

Usage

Default config

npx dummy-http-server

Default configuration:

  • Listens on port 8080 on localhost
  • Sends response back to client with content-type = 'text/html', body = 'OK', status-code = 200

Advanced config

Command line options

  • --content-type: content-type of the response to the client
  • --response: body of the response to the client
  • --response-status: HTTP status of the response to the client
  • --port: port of the listening server
  • --hostname: hostname of the listening server\n

Sending a custom respsonse

npx dummy-http-server --content-type=application/json --response="{\"myMessage\": \"hello\", \"myStatusCode\": \"1234\"}" --response-status=201

Using a custom hostname and port

npx dummy-http-server --port=7000 --hostname=myHostname

Making the server accessible from the outside (LAN, internet):

Make sure to set the hostname accordingly.

  • Step 1: Get your local IP-address (on windows i.e. use ipconfig).
  • Step 2: Set your IP-address as the hostname (example: your local IP-address is 192.168.5.100): npx dummy-http-server --port=7000 --hostname=192.168.5.100
  • Step 3: If you want to make the server accessible via the internet, configure your router and firewall (i.e. with a port forwarding)

Competitors

netcat

nc -l -p 12345

Disadvantage: Will not send any response to the client & only works on linux (MacOS?)

netcat in a loop

while true; do printf 'HTTP/1.1 200 OK\r\n\r\n' | nc -Nl 8000; done

Disadvantage: The output is not very well structred & only works on linux (MacOS?)

Roll your on server (nodejs, Java, Python,...)

Can do; but why to reinvent the wheel?

License

MIT - see license file