Hacker News new | past | comments | ask | show | jobs | submit login

It's been a long time since I touched Scala — and I never used it for web stuff at the time anyway — but is this really typical?

It's mostly an absurd comparison (equivalent to Fibonacci or something), and a tangent besides, but in Clojure:

    (slurp "http://somesite.com/some/url")
That gives me the response as a string. If I want a binary stream:

    (clojure.java.io/input-stream "http://somesite.com/some/url")
The same functions work for URLs, URIs, Files, and strings that describe them.



Do you think the code is hard to read?

BlueEyes is a framework for writing high performance web services. For it's use cases you care whether you're getting or putting. Thus it is explicit. Similarly, you care about performance, and so don't want to parse strings if you can help it -- thus you set the host once rather than parsing a URL.

For a pure ease-of-use library Dispatch is probably the best, if you can figure out the syntax (see earlier discussion). In Dispatch you can write something like

  url("http://somesite.com/some/url") >>> System.out
I forget how you read into a string. Probably change >>> to >>@!#$$T%^@#$% or similar.


No, I don't take (much) issue with your example's readability, I just thought you were offering a typical snippet for the easy path for "I need to perform a GET".

Of course, more involved interactions require an API with more knobs. Clojure has a number of options, including touching the JDK's HTTP client API, or using a wrapper around something more grounded like clj-http[1] / Apache HTTPComponents.

[1] https://github.com/dakrone/clj-http




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: