• Stars
    star
    382
  • Rank 112,241 (Top 3 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A text-based HTTP client in the browser. An interface-less Postman.

Prestige

A text-based HTTP client, by Shri. Available at prestige.dev.

Under all the abstractions, it's just stardust interacting with text.

This is a powerful, text-based, in-browser, HTTP client app geared towards web developers and API testing professionals.

Check out the User Guide to learn how Prestige can be a powerful addition to your toolset.

Discussion on Hacker News. Join us on Discord.

Prestige light mode screenshot Prestige dark model screenshot

If you face any problems or have a suggestion, please reach out on Discord, or create an issue.

Features

  • Define requests in plain text, hit Ctrl+Enter (or Cmd+Enter) to execute and view results.
  • Write plain, familiar Javascript for templating within your requests.
  • Shows all responses in a redirect chain, if request redirects.
  • Save your Prestige documents to Gist.
  • Export requests as cURL commands. Please open an issue if you'd like to see more export formats.
  • Isolated cookie management.
  • Uploading files to APIs is as simple as drag-dropping the file and calling a function.
  • Light and dark modes, for multiple themes.

Developing

Please ensure you have NodeJS (with yarn) and Go, of versions as specified in the .tool-versions file, before trying the following commands. I recommend using asdf-vm for this, which integrates with the .tool-versions file. So, if you have asdf already setup, you can just do asdf install in this repo, and you'll have the correct versions of NodeJS and Go.

The project contains a manage.sh script that makes development a little easier.

  1. ./manage.sh serve-frontend — Start frontend Parcel server. This supports full auto-reload.
  2. ./manage.sh serve-backend — Start backend server. This doesn't auto-reload when code changes.
  3. ./manage.sh serve-docs — Start docs server. This supports auto-reload only for content pages.
  4. ./manage.sh test-* — Test frontend/backend/ui (depending on what's in place of *).
  5. ./manage.sh build-* — Build frontend/backend/docs (depending on what's in place of *).

Run the serve commands in parallel, then open http://localhost:3040.

Inspirations

More: https://github.com/marmelab/awesome-rest.

Some public APIs to play with

  1. httpbun.com — Great for meta-testing and JSON/form-data related experiments. Another project by @sharat87.
  2. A collective list of free APIs for use in software and web development.
  3. Yahoo Finance stock prices API — Great for large text responses and CSV data.
  4. GitHub GraphQL API — Great for experimenting with GraphQL, but requires a personal auth token.
  5. A Curated List of 100 Cool and Fun Public APIs to Inspire Your Next Project
  6. Postman's collection

Rough Roadmap

  • Close gaps in documentation, finish API Reference and link all mentions of API functions to this page.
  • A desktop app with NeutralinoJS or some other such technology.
  • A browser extension that, when installed, would make it so that we don't need the proxy anymore.
  • A Dockerfile for quickly running a self-hosted instance of Prestige with Docker.
  • Ability to open/edit documents from GitHub repos, Google Drive and Dropbox.
  • Rich editor features like auto-complete, JSON editing help, hotkeys to start new GET/POST/etc. request, snippets etc.

Contributing

Contributions (code, tests, docs) are welcome, but if it's even slightly non-trivial or more than a few lines of changes, I'd appreciate it if you opened an issue to discuss before working towards a PR. Among other things, this can help avoid overlaps where we're both working on the same thing, and we realize it only after you open a PR.

License

Apache-2.0. Project includes a NOTICE file.

More Repositories

1

ti

A simple command line time tracker.
Python
122
star
2

httpbun

An HTTP server with APIs useful in testing HTTP clients. Inspired by httpbin, but isn't a clone.
Go
86
star
3

roast.vim

An HTTP client for Vim, that can also be used as a REST client.
Python
80
star
4

just-a-calendar

Just a calendar to look at, for when you need to look at one.
TypeScript
56
star
5

zsh-vim-mode

Sane bindings for zsh's vi mode so it behaves more vim like
Shell
40
star
6

pip-app

A set of shell functions to make it easy to install small apps and utilities distributed with pip.
Shell
38
star
7

keyboard-fu

A chrome extension for all powerful hotkeys. This is a mirror repository to the original at https://bitbucket.org/sharat87/keyboard-fu
CoffeeScript
29
star
8

inhuman-time

💆 Changes human time displays to inhuman ones on GitHub.
JavaScript
23
star
9

sharats.me

My website / blog.
Python
18
star
10

littletools

Little developer/power tools.
TypeScript
13
star
11

glists

An annoyingly simple google tasks client. Currently as a chrome extension only.
JavaScript
7
star
12

custom-web

An annoyingly simple chrome extension to let users add their own snippets of CSS and JS to websites.
JavaScript
5
star
13

rubber-tab

A new tab page chrome extension inspired by *Knew Tab* and *Humble New Tab Page*
LiveScript
5
star
14

gnome-shell-bottom-panel

A gnome-shell extension that moves the top panel to bottom.
JavaScript
4
star
15

lawn

My workstation configuration files, aka dotfiles/vimfiles. Hopelessly out of date.
Vim Script
4
star
16

PypMsg

A simple cross-platform LAN file sharing utility. Inspired by ipmsg.
Python
4
star
17

silly-calc

A notepad calculator that I use for work, study and experiments.
JavaScript
4
star
18

scrite

A tool to regularly take screenshots and save them, to help me see what the hell I've been doing all day.
Clojure
3
star
19

ejectsy

A simple and convenient external disk manager for Linux that sits in the tray.
Python
3
star
20

markdown-site

An (almost) server-less static site. (A markdown file viewer in the browser).
JavaScript
3
star
21

docjump

A fuzzy-finder for methods, fields etc., in documentation reference pages for programming languages and software development frameworks.
JavaScript
3
star
22

command-line-generators

A small little UI for generating often-used command lines.
JavaScript
2
star
23

gnome-shell-analog-clock

A GNOME Shell extension that adds a small analog clock to the date/time display on the top bar.
JavaScript
2
star
24

classypants

A tool to visualise PATH like environment variables, filter ones that exist, search through them, search inside them, and other goodness.
Clojure
1
star
25

birthday-card

Birthday wishes for the love of my life.
JavaScript
1
star
26

hn-user-notes

Keep small personal notes on HN users.
JavaScript
1
star
27

actuarial-notations

A small webapp to help better understand and get a feel of the actuarial notation, through interactive experimentation.
JavaScript
1
star
28

kindle-stack

Browser extension to send stackexchange questions+answers to kindle for peaceful reading.
JavaScript
1
star
29

lightaby

A simple lights-off game written using the LÖVE-2D engine for Lua.
Lua
1
star
30

gass

GitHub Actions Secrets Sync - Set secrets from a YAML file.
Go
1
star