GithubHelp home page GithubHelp logo

fire's Introduction

โ˜• I am a software developer that loves coffee and bicycling, with an affection for state machines, event sourcing and functional programming

fire's People

Contributors

dependabot[bot] avatar mantono avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

williamhogman

fire's Issues

Try to remove tokio as dependency

This application has no real need for an async runtime, so tokio should not be needed as a dependency, but right now it is a (transitive) dependency anyway. Investigate if tokio (and other dependencies) can be removed by either disabling some features that are enabled right now or by replacing some dependencies.

Support interactive requests

Support requests in interactive mode (-i, --interactive). When doing a request in interactive mode, a value for a template variable will not cause an error, instead the user will be asked to input a value. This will done in turn for each and everyone of the missing values (if several) until there are values present so a proper request can be done.

Before executing the request with the given values, a summary of the request will be shown so a final confirmation can be given. This implies -r + -H.

Add substitute "{{uuid()}}" with a generated UUID

Sometimes requests needs to contain certain properties that can/should/must contain unique values on each request, like correlation IDs or idempotence keys. But it would be tiresome to manually regenerate and update these values before each request.

By adding a template variable that could indicate that a UUID should be generated instead of the placeholder, there would be no need to manually update it for each request. Syntax should preferrably something that is not too akward to read/write but neither something that is too likely to have a collision with an actual environment variable (and in case of collision, the user supplied environment variable should take precedence).

Exact format to use needs some additional consideration. Some examples might be;

  • {{UUID()}}
  • {{uuid()}}
  • {{_UUID}}
  • {{_uuid}}

There might also be similar use cases when for example a current date / time / timestamp might need to be provided as a part of a request.

This may be included as an optional feature since it would have an additional dependency on a crate for uuid generation.

RUSTSEC-2022-0048: xml-rs is Unmaintained

xml-rs is Unmaintained

Details
Status unmaintained
Package xml-rs
Version 0.8.4
URL https://github.com/netvl/xml-rs/issues
Date 2022-01-26

xml-rs is a XML parser has open issues around parsing including integer
overflows / panics that may or may not be an issue with untrusted data.

Together with these open issues with Unmaintained status xml-rs
may or may not be suited to parse untrusted data.

Alternatives

See advisory page for additional details.

Consider ureq

Look into replacing reqwest with ureq for HTTP request. While reqwest is a perfectly fine HTTP client, ureq's focus on simplicity and only supporting blocking requests fits the use case for this application better.

Remove dependency on git

Remove dependency git2, which is only used for one single thing, which can be rewritten by hand, or possibly use an existing crate for same functionality.

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.