http_distributor alternatives and similar shards
Based on the "HTTP" category.
Alternatively, view http_distributor alternatives based on common mentions on social networks and blogs.
-
route.cr
Minimum High Performance Middleware for Crystal Web Server. -
halite
💎HTTP Requests Client with a chainable REST API, built-in sessions and middlewares. -
Cable
It's like ActionCable (100% compatible with JS Client), but you know, for Crystal -
cossack
Simple and flexible HTTP client for Crystal with middleware and test support. -
http-protection
This library protects against typical web attacks. It was inspired in rack-protection Ruby gem. -
helmet
a port of the Node Helmet module to the Crystal programming language -
crystal-routing
Extensible library to deal with http request and string based routing in Crystal -
http-multiserver.cr
Mount multiple web applications 🚦 -
http-params-serializable
The HTTP params parsing module for Crystal 🤓 -
http_parser.cr
Crystal wrapper for Http Parser lib: https://github.com/joyent/http-parser -
multipart.cr
Adds multipart and multipart/form-data support to the crystal standard library -
proxy-fetcher.cr
Crystal port of awesome Ruby ProxyFetcher gem -
ContentDisposition
Crystal shard to create HTTP Content-Disposition headers with proper escaping/encoding of filenames -
router-simple.cr
simple path router inspired by Router::Simple. -
crystal-cossack
Simple and flexible HTTP client for Crystal with middleware and test support.
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of http_distributor or a related project?
README
http_distributor
http server which allows sneaky http request though it.
Installation 
Be sure you have crystal > 0.18
crystal deps
crystal compile ./src/http_distributor --release
Deploy on heroku
according to crystal-lang.org
cd http_distributor/
heroku create --buildpack https://github.com/crystal-lang/heroku-buildpack-crystal.git
git push heroku master
Usage
Start
./http_distributor [--port=PORT]
Configuration
Environment variables
change_agent_probability
wait_fixed
wait_random_min
andwait_random_max
wait_delay_coefficient
Routes
/get/url_base64_encoded
/config
/domains
/ping
Important
You need an authentication token to do any request.
This token may be specified in an environment variable AUTH_TOKEN
.
If the token is not specified, it is automatically created when the server
starts, randomly, and wrote on the stderr.
The auth token must be specified in query parameter.
Example: /get/xxx?auth_token=xxx
Development
The project is divided in 3 parts.
Proxy
This directory contains the http rules, and use Kemal.
Helpers
This part contains only the helper used by the proxy part.
http_distributor
This is the main library. It contains every important classes oft he project.
Contributing
- Fork it ( https://github.com/Nephos/http_distributor/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- Nephos Arthur Poulet - creator, maintainer