An HTTP request parser with rust and pest.rs

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • vscode-restclient

    REST Client Extension for Visual Studio Code

    I happened to have learned about parsing expression grammars a few days ago and got really excited about writing my own grammar. As I was missing this VS Code extension when working on neovim, an idea popped up: What if I write an HTTP grammar and an execute request from an interactive prompt?

  • reqwest

    An easy and powerful Rust HTTP Client

    After a quick check of the available rust http client libraries I opted for reqwest. It has a pretty simple API and it seems to be among the most used libraries for this matters. But I'm a bit concerned about all its dependencies so I might try ureq later.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • pest

    The Elegant Parser (by pest-parser)

    To write our grammar we will use pest. From the website:

  • ureq

    A simple, safe HTTP client

    After a quick check of the available rust http client libraries I opted for reqwest. It has a pretty simple API and it seems to be among the most used libraries for this matters. But I'm a bit concerned about all its dependencies so I might try ureq later.

  • inquire

    A Rust library for building interactive prompts

    At this point I felt a bit lazy to implement the prompt so I searched for existing solutions, one of them being inquire. It has a pretty straight forward API, so to show an interactive select we just need this lines:

  • rq

    HTTP request parser written in rust (by protiumx)

    This project turned out to be quite fun! I ended up naming it rq and you can see its source here

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts