

Hosting for Webhooks and Transform Streams - _Marak_
http://hook.io/

======
barrystaes
Like most websites of such projects, its missing the "What is X" that explains
what problem your "product X" solves. (yes you are selling your product)

And gives context such as being a supplement to Y and an alternative to Z.
After reading every page, i still have no idea what it does, what its for and
how i can learn more about Y and Z so i can understand why i need X.

~~~
tombh
It clicked for me when I saw the example curl request;

    
    
        `curl --data 'foo=bar&hello=there' http://hook.io/Marak/echo`
    

But yeah, up till then I felt a bit uncomfortable that the assumption was made
that I already knew what it was all about.

Gotta say I really like it, maybe put the example curl request much nearer the
top in a big font size?

~~~
_Marak_
Thanks for the feedback!

I took the curl example added it to the homepage right under the tagline.

Thinking of a Hook as a standard Unix Pipe really helps solidifying the entire
concept.

~~~
king_magic
Honestly, I still have no clue what it does, even with the curl example.

------
jbeard4
This is interesting. What are you using to sandbox the user-defined Node.js
code?

------
supporting
Isn't this the same site from three years ago? Back then, it "aimed to take on
Erlang".

[https://news.ycombinator.com/item?id=2809827](https://news.ycombinator.com/item?id=2809827)

... and tried to fork Node's EventEmitter into "EventEmitter2":

[http://blog.nodejitsu.com/distribute-nodejs-apps-with-
hookio...](http://blog.nodejitsu.com/distribute-nodejs-apps-with-hookio/)

This time it's "HTTP Microservices", eh? Maybe next time it'll be even more
incredibly powerful and surprisingly simple.

~~~
_Marak_
That's an entirely different project from Nodejitsu. I don't know if it's
still active.

The hook.io domain actually expired and went to public auction recently and I
was able to purchase it.

~~~
supporting
Um... If it was an "entirely different" project from Nodejitsu, then why was
it _your_ project four years ago:

[https://news.ycombinator.com/item?id=1666304](https://news.ycombinator.com/item?id=1666304)

~~~
larsmak
Give him a break, this is how projects - and especially personal projects -
develop. You find a cool idea you want to explore on, the end product might be
something totally different then what you started with.

~~~
masukomi
Yes, but you don't typically replace the same domain with two totally
different services. You create 2 new domains. I would never pay someone for a
service when they've repeatedly shown that they're willing to throw out the
system people have started depending on and replace it with something
radically different. Not only can I not trust the stuff to stay around, I
can't trust the developer to have enough of an attention span to _care_ about
the old stuff enough to even just leave it alone to keep working in
maintenance mode.

------
vladikoff
"This application will be able to read and write your public and secret
gists." Probably a good idea to create a separate GitHub account due to the
"secret gists" permission.

~~~
_Marak_
We don't need access to private gists and are not enumerating the Gist API in
anyway.

The only code that gets shared with the site is when a new gist is created.
Never previous gists.

I'll investigate the Github API scope settings immediately and see if I can
make the access level only public gist.

Thanks for the head-up.

~~~
vladikoff
Thanks for the response! Keep up the great work.

------
recursive
Maybe I'm missing it, but I can not find any documentation on what languages
are supported. Then I figured it used the gist language declaration to support
all(?) languages. But for python, it says print is not defined. So that's not
it. I'm kind of at a loss for what's supposed to be going on.

~~~
evv
Based on the examples and the reference to NPM, I'd guess that it is node.js
only.

------
sunsu
I'm assuming this is possible, but its not obvious on the site:

Can I use this to transform Web Hook data from one service into a format that
another service expects?

Example:

Service A WebHook -> hook.io -> Service B Rest Request

Edit: Would definitely need SSL support for the above use case.

~~~
_Marak_
Yes. You can transform data from one service to another. Inside the transform
stream you can perform arbitrary data manipulation.

Try taking a look at the transform or merge examples

[http://hook.io/Marak/transform](http://hook.io/Marak/transform)

[http://hook.io/Marak/merge](http://hook.io/Marak/merge)

------
Xeoncross
I wrote a PHP framework made of your choice of community gists. Basically,
it's composer for gists.

[https://github.com/Xeoncross/UnitEngine](https://github.com/Xeoncross/UnitEngine)

------
jeremyh
I've thought about implementing something like this to convert a hook-based
API into a streaming one. The use case being that there are things I want to
build that don't need a public address. So, very nice!

------
johnnyfaehell
Got a real use case for this?

------
nacs
Re: that green pipe next to the logo (
[http://hook.io/img/pipe.gif](http://hook.io/img/pipe.gif) ), isn't that from
Mario/Flappy bird?

------
johns
Interesting take on this. I like webscript.io but prefer JavaScript to Lua.
Also, great domain.

You should check out our tools. We can help a lot with the storage/display of
http requests.

------
ecross1979
What is a "big" company which links to this in your footer:
[http://big.vc/](http://big.vc/)?

------
colinramsay
Presumably you could pipe output through multiple hooks and chain actions up,
making them composable?

~~~
_Marak_
100% yes. Composability is one of the greatest strengths of microservices.

Here is a live example of merging multiple hooks:
[http://hook.io/Marak/merge](http://hook.io/Marak/merge)

and of using piping hooks together:
[http://hook.io/Marak/pipe](http://hook.io/Marak/pipe)

~~~
colinramsay
Fantastic!

------
simonw
Any plans to add HTTPS support?

~~~
_Marak_
Yes. Someone just opened up the first support issue which is a request for
HTTPS.
[https://github.com/bigcompany/hook.io/issues/1](https://github.com/bigcompany/hook.io/issues/1)

Adding HTTPS is now a top priority.

------
Zolomon
Cool! I love how it applies the concept of reusable software.

