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.
Updating dependencies is time-consuming.
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