Giter Site home page Giter Site logo

gulp's People

Contributors

dependabot[bot] avatar thoom avatar

Watchers

 avatar  avatar

gulp's Issues

Add binary releases

Set up a build environment that allows adding the release binaries for various formats. This should probably be done once I have added some testing.

Upgrade notice

Perhaps in the -version flag, add a notice if there is an upgrade available.

socket: too many open files

Getting error socket: too many open files when trying to run too many --repeat-times. On macOS this happens around 252 repeats. It happens regardless of the number of concurrent connections.

Add load testing delay

Create a randomized load testing delay to prevent pulses during testing.

This could have some configuration, including disabling completely in case you want to try to create pulses.

Update User-Agent String

Currently the user agent is thoom.Gulp/version-os-architecture, however, maybe it should be thoom.Gulp/version (OS; architecture)?

So instead of thoom.Gulp/1.0-darwin-amd64 it'd be thoom.Gulp/1.0 (darwin; amd64)

Add -url flag

By default, the API has the format gulp [flags/options] url. There are times when it would be useful to have the URL as part of the flag array instead of being required at the end.

Missing tests

The project is missing unit tests and travis CI integration.

`-ro`, `-so`, and `-I` uniqueness

The 3 display-related flags should be related to each other. Currently they can all be set and then behave weirdly.

Maybe just allow a single one and have an error if more than one are set? Or only use the last one?

Colorized output

When using verbose display, color code success and error responses.

Upgrade to go 1.18

At a minimum, just rebuild in 1.18. Look at additional changes in 1.18 that may make sense to incorporate.

verbose timer

Add how long the response took in verbose display.

Obfuscate user defined PII headers

Sometimes there is PII/secret data passed in a header (like an API key). If I want to copy and paste the output to someone else, I currently have to copy it into something like VS Code, remove or obfuscate the secret manually, then copy the edited data.

It'd be cool if I could define certain headers in a config file to be secret/PII/secure and have the output automatically clean the header (ie. convert X-Secret-Header: abc123456def to X-Secret-Header: abc1xxxx6def)

TLS verification toggle

Right now, the client ignores TLS certificate errors. This should be toggle able at least in the config.

Dockerize this sucker

Provide a docker image that can be used if people don't want go installed on the system.

Set default user-agent

While the user-agent can be overridden easily in the config, set a default (i.e. thoom/gulp or something).

docker + /etc/hosts problems

The app doesn't pick up any /etc/hosts entries added via --add-host=DOMAIN:IP entries or with docker-compose.

Looks like this is related to this moby issue. Keep track to see if there are implementation options to handle it.

Add -insecure flag

Rather than use -k, create an -insecure flag. This will be more intuitive.

Allow custom timeouts

Currently the client has a 300 second timeout. It should allow this to be customized per request as well as have a configuration value.

Support for Basic Auth

Add support for Basic authentication:

  • -username, -password Cli flags
  • config file basic_auth object

client-cert auth

Add the ability to pass in a client cert for handling client-cert based authorization

Pipeline improvements

Add support for go vet and staticcheck as part of the pipeline to increase quality

Allow non-JSON post data

The client assumes that all post data is JSON, so if it's not JSON/YAML then the post data will cause an error.

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.