/postwoman

👽 API request builder - Helps you create your requests faster, saving you precious time on your development https://postwoman.io

Primary LanguageVueMIT LicenseMIT

When I wrote this, only God and I understood what I was doing. Now, only God knows.
Liyas Thomas

Liyas Thomas

Built with ❤︎ by liyasthomas and contributors

Build Status GitHub release repo size license contributions welcome Website Donate Buy me a coffee

postwoman Postwoman

API request builder

Start here: Story behind Postwoman


postwoman postwoman

Features ✨

❤️ Lightweight: Crafted with minimalistic UI design

  • Faster, lighter, cleaner, minimal & responsive

Real-time: Send requests and get/copy responses right away!

Methods:

  • GET - Retrieve information about the REST API resource
  • HEAD - Asks for a response identical to that of a GET request, but without the response body.
  • POST - Create a REST API resource
  • PUT - Update a REST API resource
  • DELETE - Delete a REST API resource or related component
  • OPTIONS - Describe the communication options for the target resource
  • PATCH - Applies partial modifications to a REST API resource

History entries are synced with local session storage

🌈 VIBGYOR: Neon combination background, foreground & accent colors - because customization === freedom ✨

Customizations:

  • Dark and Light background themes
  • Choose accent color
  • Toggle multi-colored frames

Customized themes are also synced with local session storage

🔥 PWA: Install as a PWA on your device

Features:

  • Instant loading with Service Workers
  • Offline support
  • Low RAM/memory and CPU usage

🚀 Request: Retrieve data from a URL without having to do a full page refresh

  • Choose method
  • Enter URL
  • Enter Path
  • Copy public "Share URL"
  • Generate request code for JavaScript XHR, Fetch, cURL
  • Copy generated request code to clipboard
  • Import cURL

🔌 Web Socket: Establish full-duplex communication channels over a single TCP connection

  • Send and receive data

🔐 Authentication: Allows to identity the end user

Types:

  • None
  • Basic authentication using username and password
  • Token based authentication

📢 Headers: Describes the format the body of your request is being sent as

📫 Parameters: Use request parameters to set varying parts in simulated requests

📃 Request Body: Used to send and receive data via the REST API

Options:

  • Set content Type
  • Toggle between RAW input and parameter list

👋 Responses: Contains the status line, headers and the message/response body

  • Copy response to clipboard
  • View preview for HTML responses

HTML responses have "Preview HTML" feature

History: Request entries are synced with local session storage to reuse with a single click

Fields

  • Timestamp
  • Method
  • Status code
  • URL
  • Path

History entries can be deleted one-by-one or all together


Demo

https://postwoman.io

Usage

  1. Specify your request method
  2. Type in your API URL
  3. Add API path
  4. Send request
  5. Get response!

You're done!


Built with

  • Chromium - Thanks for being so fast!
  • HTML - For the web framework
  • CSS - For styling components
  • JavaScript - For magic!
  • Vue - To add to the JavaScript magic!
  • Nuxt - To add to the Vue magic!

Developing

  1. Clone this repo with git.
  2. Install dependencies by running npm install within the directory that you cloned (probably postwoman).
  3. Start the development server with npm run dev.
  4. Open development site by going to http://localhost:3000 in your browser.

Releasing

  1. Clone this repo with git.
  2. Install dependencies by running npm install within the directory that you cloned (probably postwoman).
  3. Build the release files with npm run build.
  4. Find the built project in ./dist.

Contributing

Please read CONTRIBUTING for details on our CODE OF CONDUCT, and the process for submitting pull requests to us.


Continuous Integration

We use Travis CI for continuous integration. Check out our Travis CI Status.


Versioning

This project is developed by Liyas Thomas using the Semantic Versioning specification. For the versions available, see the releases on this repository.


Change log

See the CHANGELOG file for details.


Authors

Lead Developers

Testing and Debugging

Contributors

John Harker
John Harker

💻
izerozlu
izerozlu

💻
Andrew Bastin
Andrew Bastin

💻
Nick Palenchar
Nick Palenchar

💻
Thomas Yuba
Thomas Yuba

💻
Nicholas La Roux
Nicholas La Roux

💻

See the list of contributors who participated in this project.

Thanks


License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

  • Hat tip to anyone who's code was used
  • Inspirations: