GithubHelp home page GithubHelp logo

mirkoperillo / resting Goto Github PK

View Code? Open in Web Editor NEW
26.0 4.0 12.0 4.82 MB

A visual HTTP client browser extension

Home Page: https://resting.owlcode.eu/

License: GNU General Public License v3.0

JavaScript 51.29% CSS 30.69% HTML 11.71% Shell 1.27% Vue 3.81% PowerShell 1.23%
web-extension firefox-addon rest-client developer-tools rest-api rest chrome-extension http-client javascript

resting's Introduction

Icon

Resting is a visual HTTP client browser extension.

Mission

The mission of Resting is to simplify the daily work of developer in debugging, testing and inspecting HTTP requests.

The goal of Resting is to be light and focused on the management of saved requests.

Main Features

Request

  • Support multipart, x-www-form-urlencoded, raw data request body, file upload.
  • BASIC, Oauth2.0, JWT Authentication.
  • Work with multiple requests using Tabs.
  • Http headers autocompletion.

Response

  • Highlight the response.
  • Copy to clipboard.

Contexts and variables

  • Use variables to generalize part of the request.
  • Organize variables into contexts.

Bookmarks

  • Save requests as bookmarks to future usage.
  • Collect bookmarks into folders.
  • Import/Export your bookmarks as HAR archives.

Privacy

Data is yours. Resting doesn't save in any servers data about the APIs you invoke or any other data about the usage of Resting. Everything is stored offline on your device, all the data is saved locally in the Indexed DB of your browser.

Roadmap

This is the road to Resting v2.0

  • Support file uploading #53
  • Complete Oauth2.0 authentication #110
  • Headers completion suggestion #52
  • List available context variables fo the request #114

Quickstart

Official release

Resting is available for:

Test development version

You can install Resting from the source code following these instructions:

  1. git clone https://github.com/mirkoperillo/resting.git
  2. cd resting/scripts && ./build-unsigned.sh or cd resting/scripts && ./build-unsigned.ps1 if you are using windows
  3. Go to the addons page in Firefox and click Install Add-on From File

Setup a development environment

Requirement: You need Firefox Dev Edition.

  1. git clone https://github.com/mirkoperillo/resting.git
  2. Open Firefox Dev Edition
  3. Visit url about:debugging
  4. Load temporary Addon
  5. Navigate your filesystem and select the manifest file in the addon
  6. The addon is loaded in the toolbar

Tech Stack

  • Knockout.js 3.x: MVVM framework
  • Bootstrap 3.x: UI framework
  • highlight.js: response highlighter
  • localforage: storage manager
  • JQuery 3.x: essentially used to perform http requests

Principles

Resting tries to follow these principles:

  • KISS and YAGNI, trying to maintain project light in code and libraries
  • Keep the focus on result: the development cycle is composed by two steps: the first takes deliberately technological debt to ship features in a quick way, the second applies a phase of refactor to maintain the code clean.

The project follows the semantic versioning

Contribution

  • Use it! πŸ˜ƒ
  • Signal a bug
  • Suggest a new feature or an improvement of an existing one
  • This project is community friendly: put a πŸ‘ on a feature or an improvement. Issues with a lot of votes will be put on the top of the todo stack
  • A cup of coffee: paypal | liberapay
  • Star the project 🌟

Contributors

Project contributors here

License

Resting is released under GPL v3 license after commit 117e15a33e97bc9c0905139ca527398e77e79620

Resting was released under MIT license until v1.0.2

Why I changed license

I know Resting will never be a breakdown project, it is only a personal project and so the license change is only an ethical-political action.

I created Resting to solve my needs and to help users with needs like mine. My intent is to create a little community of users and contributors around the project to grow it up andΒ so I want the project to stay free and accessible forever even when I will be no longer the main maintainer.

resting's People

Contributors

abordei-ntsc avatar albertotn avatar alexmario74 avatar clockwerkz avatar dependabot[bot] avatar jlnikhilrao avatar kwanjunwen avatar luisgregson avatar mirkoperillo avatar nikhilraojl avatar p3trur0 avatar vanholler avatar vyasriday avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

resting's Issues

Delete folder

Permit to delete a folder with previous confirmation.

Possibility to select if maintain or delete the bookmarks inside the folder

Har support

Both firefox and chrome has in developer tools option to export any request in har format.
You should evaluate to let users import this format into resting, for further elaborations

save a bookmark

When I save a new bookmark, it must be mark as loaded in UI

Icon in tab header

Put the icon of addon in the tab header to improve the addon visibility when multiple browser tabs are opened

Move bookmark from folder to root

  1. Load a bookmark saved in a folder
  2. Move it from folder to root
  3. Move it from root to folder

This cause a bookmark duplication.

Same effect if the bookmark is moved from root to a folder

deleting folder after moving a bookmark in it

  1. Create a bookmark
  2. Move bookmark into one folder
  3. Delete folder ( without contained bookmarks).

The contained bookmarks doesn't appear at root level

It's only a UI issue refresh addon with F5 and bookmarks appear

This issue happens only moving existing bookmark and not saving a new bookmark directly inside a folder

Security issue on calling an URL

I load the index.html file in the browser (firefox v57.0.2 (64 bit) on Windows) and then try to call the url: _http://localhost:8080/hello _ (I have a fake server that respond on that address.

I have no feedback from the app, if I check the console I found an error that complain about the absence of the CORS header Access-Control-Allow-Origin.

UPDATE:

If I remove the http:// part of the URL in the field and use the address just like localhost:8080/hello have no errors, but still show any response from the server.

Looking the firebug network panel with the request I could see the response text.

Clear the request

It can be useful to have a button to clear all the fields of the current request

Save a bookmark

  1. Save a bookmark
  2. Delete the bookmark
  3. Try to save the same bookmark again.

Save action fails

Reset the body raw

The body raw content is not reset between the loading of different bookmarks

Support for authentication

Have the possibility to select a mechanism of authentication for the request ( basic auth, digest, oauth2, jwt)

Support url template

Possibility to set variables in the url,

something like

example.com/{userId}/{prefId}

Unsaved editing are remembers in the same session

  1. Load a bookmark
  2. Edit it without save
  3. Load another bookmark
  4. Load the previous edited bookmark.

I expect to have the "clean" loading of the bookmark, but instead the bookmark is loaded with the unsaved editings. Think about to load the bookmark every time from the storage

Reorder bookmarks

Permit the reordering of bookmarks using drag&drop or alphabetically

load bookmark with request body

The body content of a loaded bookmark is not correctly visualized in UI ( but the UI field is correctly populated): the type combobox of body tab is correctly set but relative body content field is not rendered

Folders of bookmarks

Possibility to create a folder in which put multiple bookmarks.

  • Folder must have a evident layout in bookmark box.
  • Folder must collapse and expand
  • Possibility to bind folder and bookmark when bookmark is created

GET tries to attach an empty multipart body

form-data is the pre-selected value in the body type combobox.
Some time this is a problem, because I can execute a simple GET and the server response with a fail because it tries to process a empty multipart body.

Give a default value of None for the body type combobox.

Send on enter

I can send a request clicking enter when url field is focused

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.