HTTP Client for Visual Studio Code to POST JSON, XML, image, ... files to REST APIs

Overview

         friflo POST

Marketplace Version CodeQL

Goal

Main goal of this extension is storing all HTTP request & response data automatically as files in a VSCode workspace.
This ensures this data is still available in new VSCode sessions. It also enables other VSCode extensions utilizing request & response files. E.g. JSON Schema validation of JSON request & response files, storing results in git and comparing subsequent response results with previous ones.

GitHub repository link

Features

  • Send files in your workspace like JSON or XML via HTTP POST, PUT & PATCH with a single click on a CodeLens button.
    E.g. say-hello.test.json
  • Store HTTP responses like JSON or XML automatically as files in the workspace.
    E.g. say-hello.test.resp.json
  • Store HTTP request / response header automatically as a markdown file in the workspace.
    E.g. say-hello.test.resp.md
  • Enables using VSCode language validators like JSON Schema for request and response files.
  • Show and edit HTTP response directly in a separate workspace editor tab.
  • Toggle between response body and headers with a single click in the editor tab.
    E.g. toggle between say-hello.test.resp.json & say-hello.test.resp.md
  • Enables using other utilities like node processing request & response files as they are valid JSON or XML
  • Enables using git as a simple regression test to compare response bodies and headers with previous requests.
  • Enables configuration via the config file .post-config for all request files in a folder to:
    • set the http endpoints and specific http headers
    • set the response folder for response files.

Usage

The screen recording (one minute) below show the entire workflow.

  • Using Context menu > POST Request to create .post-config file and adjust the endpoint url
  • Click the POST button on top of the JSON file and toggle in the response tab between response body (JSON) and headers
  • Demonstrate JSON Schema validation of JSON request & response files.
  • Execute a second request with a single click using the configuration from the beginning.
  • Execute a third request - this time PUT - to show the error case when the server is not responding.
    The request is canceled by clicking on the progress indicator in the status bar.
  • Use VSCode Source Control to show the diff of the response info with a previous successful request.

Tips

  • As every request file generate two response files e.g. test.resp.json and test.resp.md in the response folder it may be desired to hide them in the EXPLORER panel. To do this add the section below to .vscode/settings.json.
{
    "settings": {
        "files.exclude": {
            "**/response/*.resp.json": true,
            "**/response/*.resp.md":   true
        }
    }
}

License

MIT License

Feedback

As this project is very young GitHub issue reports are welcome!
First commit: 2021-09-22. Published in VSCode Marketplace: 2021-09-26.
GitHub Issues

You might also like...

HTTP server mocking and expectations library for Node.js

HTTP server mocking and expectations library for Node.js

Nock HTTP server mocking and expectations library for Node.js Nock can be used to test modules that perform HTTP requests in isolation. For instance,

Jan 3, 2023

๐ŸŒ Human-friendly and powerful HTTP request library for Node.js

๐ŸŒ Human-friendly and powerful HTTP request library for Node.js

Sindre's open source work is supported by the community. Special thanks to: Human-friendly and powerful HTTP request library for Node.js Moving from R

Jan 9, 2023

make streaming http requests

hyperquest treat http requests as a streaming transport The hyperquest api is a subset of request. This module works in the browser with browserify. r

Sep 8, 2022

Full-featured, middleware-oriented, programmatic HTTP and WebSocket proxy for node.js

rocky A multipurpose, full-featured, middleware-oriented and hackable HTTP/S and WebSocket proxy with powerful built-in features such as versatile rou

Nov 24, 2022

Simplifies node HTTP request making.

Requestify - Simplifies node HTTP request making. Requestify is a super easy to use and extendable HTTP client for nodeJS + it supports cache (-:. Ins

Nov 28, 2022

Wrap native HTTP requests with RFC compliant cache support

cacheable-request Wrap native HTTP requests with RFC compliant cache support RFC 7234 compliant HTTP caching for native Node.js HTTP/HTTPS requests. C

Dec 20, 2022

Run HTTP over UDP with Node.js

nodejs-httpp - Run HTTP over UDP based transport and Bring Web in Peer or P2P styles main js modules: udt.js, httpp.js, udts.js and httpps.js, that's

Aug 2, 2022

Global HTTP/HTTPS proxy agent configurable using environment variables.

global-agent Global HTTP/HTTPS proxy configurable using environment variables. Usage Setup proxy using global-agent/bootstrap Setup proxy using bootst

Dec 20, 2022

An HTTP Web Server for Chrome (chrome.sockets API)

An HTTP Web Server for Chrome (chrome.sockets API)

Dec 31, 2022
Owner
Ullrich Praetz
Passionate developer: C#, Typescript, Java, Kotlin, C/C++, Rust - GraphQL, OpenAPI, JSON Schema - Windows, Android, Linux, Unity/DOTS - AWS - REST, TCP, UDP
Ullrich Praetz
Node.js web server framework for Http/1.1 or Http/2

Node.js web server framework for Http/1.1 or Http/2 Description: This is http framework, you can use it to create Http/1.1 or Http/2 serviceใ€‚ Now let'

Jeremy Yu 10 Mar 24, 2022
Promise based HTTP client for the browser and node.js

axios Promise based HTTP client for the browser and node.js New axios docs website: click here Table of Contents Features Browser Support Installing E

axios 98k Dec 31, 2022
๐ŸŠ๐Ÿพ Simplified HTTP request client.

Deprecated! As of Feb 11th 2020, request is fully deprecated. No new changes are expected to land. In fact, none have landed for some time. For more i

request 25.6k Jan 4, 2023
Ajax for Node.js and browsers (JS HTTP client)

superagent Small progressive client-side HTTP request library, and Node.js module with the same API, supporting many high-level HTTP client features T

Sloth 16.2k Jan 1, 2023
HTTP Client Utilities

@hapi/wreck HTTP client utilities. wreck is part of the hapi ecosystem and was designed to work seamlessly with the hapi web framework and its other c

hapi.js 383 Nov 1, 2022
A fully-featured Node.js REST client built for ease-of-use and resilience

flashheart A fully-featured Node.js REST client built for ease-of-use and resilience flashheart is built on http-transport to provide everything you n

BBC 118 Jun 21, 2022
Very very very powerful, extensible http client for both node.js and browser.

ES-Fetch-API ไธญๆ–‡ | English Very very very powerful, extensible http client for both node.js and browser. Why should you use ES-Fetch API? Still using a

null 17 Dec 12, 2022
Minimal, type-safe REST client using JS proxies

Minimal, type-safe REST client using JS proxies.

Johann Schopplich 124 Dec 16, 2022
Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.

http-fake-backend Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. It actually can serve

Micromata GmbH 279 Dec 11, 2022
A full-featured http proxy for node.js

node-http-proxy node-http-proxy is an HTTP programmable proxying library that supports websockets. It is suitable for implementing components such as

http ... PARTY! 13.1k Jan 3, 2023