1. Rick Beton
  2. Bee-Client

Source

Bee-Client /

Filename Size Date modified Message
docs
gradle/wrapper
performance
src
229 B
Merged switch-to-gradle branch into default
48 B
Added tag 0.29.1 for changeset 8b18e43d0070
1.1 KB
First cut at the new API
559 B
v0.7.2 - Potential null in response parser is now handled gracefully.
2.9 KB
v0.29.1 is now published to Bintray satisfactorily.
3.2 KB
v0.29.1 is now published to Bintray satisfactorily.
39.8 KB
Transition to Gradle is almosst complete. Transition to Bintray hosting remains to be implemented.
1.2 KB
Preparation for releasing via Bintray.
5.1 KB
Broken build - transition to using symlinks
891 B
Preparation for releasing via Bintray.
3.1 KB
Started new Gradle-based build system to unblock the SBT build hindrance log-jam.
13.1 KB
Preparation for releasing via Bintray.
5.2 KB
Transition to Gradle is almosst complete. Transition to Bintray hosting remains to be implemented.
290 B
v0.22.0 - ResponseBody implementations are now much more informative in the edge case of attempting to deal with binary data as if it were text. This is now not allowed and an exception is thrown if it is attempted.
6.1 KB
v0.18.0
528 B
v0.29.1 is now published to Bintray satisfactorily.
288 B
Transition to Gradle is almosst complete. Transition to Bintray hosting remains to be implemented.
192 B
v0.8.5
246 B
* v0.21.1
159 B
Preparation for releasing via Bintray.
267 B
Transition to Gradle is almosst complete. Transition to Bintray hosting remains to be implemented.

Bee-Client - A Lightweight Scala HTTP Client

  • Bee Client is a Scala API that wraps the standard java.net.URL capability for making HTTP requests more easily.
  • ...Much more easily!

It is written in Scala but may be called (a lot less easily) from Java also.

Simply create an HttpClient instance and get / post / whatever your requests.

val httpClient = new HttpClient
val response: Response = httpClient.get("http://www.google.com/")
println(response.status)
println(response.body.asString)

More examples follow in the tutorial.

Features

  • Simple to use - provides easy programmatic HTTP client calls, handling the necessary headers and body data.
  • Light-weight - not much code; doesn't get in the way.
  • Fast performance and low memory footprint.
  • Easy handling of headers - both for requests and responses; both with simple values and with complex structure.
  • Flexible and efficient handling of content (entity) bodies, along with the media type and character encoding. UTF-8 is used as the default character encoding.
  • Request entity bodies can be streamed in. Response entity bodies can be streamed out.
  • Complete implementation: all HTTP methods and headers are supported.
  • Standards-compliance builds on HttpURLConnection and in some ways improves on it.
  • HTTPS is supported (based upon javax.net.ssl.HttpsURLConnection)
  • Cookies are supported. They are held in immutable cookie jars gleaned from response headers (or created programmatically) and then sent back with subsequent requests.
  • Automatic Redirection preserves cookies (unlike using HttpURLConnection directly).
  • Full awareness of proxies.
  • Arbitrary multi-threading is possible because all shared state is held in immutable values.
  • No additional threads are imposed - you decide what you need.
  • No 'static' variables are used, so multiple configurations can co-exist within a JVM.
  • Tested against a range of servers: Apache2, Nginx, Lighttpd, Cherokee, Tomcat7.
  • The number of external dependencies is minimised (currently: slf4j, servlet-api).

Known Bugs

Future Plans

Several new features are under consideration for future versions.

See https://bitbucket.org/rickb777/bee-client/issues?status=new&status=open

More Info

Build Status