sockbin v0.2.0

:zap: Websocket Requests and Response service. Built in Node.js :cake:
URL
ws://sockb.in/
Feel free to play in the Sockbin Playground!
API
Basic response
Returns a basic json object echoing back the time of the request and the posted data
Endpoint: /
Response:
{
"timestamp": "Thu Apr 28 2016 22:25:19 GMT+0000 (UTC)",
"url": "http://sockb.in/",
"reqData": "Hello Sockbin!"
}Custom Response
Returns the value of response= in the URL, after decoding.
Endpoint: /?response=%7Bfoo%3A%20bar%7D
Response:
{foo: bar}URL Piping
Returns the results of a GET request to the provided URL in the pipe= parameter.
Endpoint: /?pipe=http%3A%2F%2Fhttpbin.org%2Fget
Response:
{
"args": {},
"headers": {
"Host": "httpbin.org"
},
"origin": "54.90.123.185",
"url": "http://httpbin.org/get"
}Delay
Returns after a specified time (in ms)
Endpoint: /delay/1000
Response:
{
"timestamp": "Thu Apr 28 2016 22:25:19 GMT+0000 (UTC)",
"url": "http://sockb.in/",
"reqData": "Hello Sockbin!"
}
// returns after 1 secondRepeat
Returns a basic json object the specified number of times
Endpoint: /repeat/5
Response:
{
"timestamp": "Thu Apr 28 2016 22:25:19 GMT+0000 (UTC)",
"url": "http://sockb.in/",
"reqData": "Hello Sockbin!"
}
// repeated 5 timesCombining
You can combine these endpoints to produce more robust results
Endpoint: /delay/5000/repeat/5
Response:
{
"timestamp": "Thu Apr 28 2016 22:25:19 GMT+0000 (UTC)",
"url": "http://sockb.in/",
"reqData": "Hello Sockbin!"
}
// repeated 5 times every 5 secondsRun For
You can use the delay endpoint with a special endpoint, runfor to return every x seconds for the specified time.
Endpoint: /runfor/60000/delay/5000
Response:
{
"timestamp": "Thu Apr 28 2016 22:25:19 GMT+0000 (UTC)",
"url": "http://sockb.in/",
"reqData": "Hello Sockbin!"
}
// repeated every 5 seconds for 1 minuteHosted restrictions
sockb.in is hosted on a free dyno on Heroku. As such, usage is restricted. The restricitions are as follows:
- When repeating with a delay, delay must be over 5 seconds, and repeat must be under 50
- when using
runfor, delay must be over 5 seconds, andrunforcannot be over 5 minutes.
Local Installation
You can install sockbin by cloning this repo locally:
git clone https://github.com/therebelrobot/sockbin.git
cd sockbin
npm install
npm startOnce there, if you set an environment variable of OVERRIDE=token, and include that in your url request as &override=token, you can bypass bypass the hosted restrictions.
Contributing
Please feel free! Open a Github Issue for any issues you find, and feel free to Fork this repo to work on your own changes!
If you are running this in development mode, use npm run develop instead of npm start to use nodemon automagically :cake:.