Commit graph

18 commits

Author SHA1 Message Date
Preben Ingvaldsen
c6ce8dd301 (TK-108) Add a persistent sync Java client
Add a PersistentSyncHttpClient class, which is a wrapper around
CloseableHttpAsyncClient and allows multiple requests to be made
with a persistent synchronous client.
2014-11-10 10:08:13 -08:00
Preben Ingvaldsen
972de1e9e9 (TK-108) Separate Java RequestOptions class
Separate the Java RequestOptions class into two new classes:
RequestOptions, which contains options related to the request,
and ClientOptions, which contains options related to the client.
Both are now required when calling the request methods in
AsyncHttpClient and SyncHttpClient.
2014-11-07 10:44:20 -08:00
Jeremy Barlow
f83d7821ad (PE-6019) Encode string request body per Content-Type header
This commit encodes a request body string per the content of the
Content-Type header.  In the event that no charset is specified in the
Content-Type header, the charset is set to UTF-8.  Previously, the
request body string was always encoded to ISO-8859-1 and was not
necessarily in sync with the value of the Content-Type header.
2014-09-18 17:02:00 -07:00
Preben Ingvaldsen
73292ab690 (PE-5623) Add followRedirects option to Java client
Add followRedirects option to Java client, which functions
the same as the :follow-redirects option in the clj client.
2014-08-26 16:49:36 -07:00
Preben Ingvaldsen
06636b461e (PE-5623) Add :follow-redirects option clj clients
Add a :follow-redirects option to the clj clients which, when
set to false, will prevent the client from following a redirect.
2014-08-26 16:36:47 -07:00
Preben Ingvaldsen
4bd7d25403 (PE-5623) Add forceRedirects option to Java client
Add a forceRedirects option to the Java client that allows it to
follow redirects on POST and PUT requests.
2014-08-25 11:57:39 -07:00
Preben Ingvaldsen
d9f2f1d0f3 (PE-5623) Add :force-redirects to clj client
Add a :force-redirects option to the clojure client that will
relax the redirect restrictions put on the client for a POST
or PUT method.
2014-08-25 11:15:22 -07:00
Preben Ingvaldsen
606754bc81 (TK-29) Move to URI instead of String
Have the RequestOptions constructor take a URI instead of a
string. Add signature to the HTTP request methods that take
a URI.
2014-08-08 16:32:48 -07:00
Preben Ingvaldsen
fee17ad543 (TK-29) Use :query-params and change variable names
Use :query-params in the query param ring handler instead of
:params. Also change variable names used for testing.
2014-08-07 10:36:03 -07:00
Preben Ingvaldsen
c439b2ed87 (TK-29) Add query params option to clj client
Add query parameter support to the clojure client. User can now
specify a :query-params option in the options map containing a
map of query parameters.
2014-08-06 14:02:10 -07:00
Preben Ingvaldsen
e1e283d701 (TK-29) Add query params to Java client
Add query params back into the Java client, along with tests
to validate this functionality is working.
2014-08-06 10:49:48 -07:00
Preben Ingvaldsen
6fe97dee92 (TK-27) Add test for sync client close
Add test to make sure that a sync client is closed properly.
2014-07-23 10:20:15 -07:00
Preben Ingvaldsen
0aeaf73dd9 (TK-27) Add tests for request-with-client
Add asynchronous and synchronous tests for request-with-client.
2014-07-17 14:03:39 -07:00
Preben Ingvaldsen
81cd0eabaf (TK-27) Remove persistent namespaces
Remove persistent-async and persistent-sync namespaces,
moving their contents into async and sync, respectively.
2014-07-17 11:06:13 -07:00
Preben Ingvaldsen
b807083c5a (TK-27) Refactor client protocols
Refactor the async and sync client protocols into a single
protocol which resides in a new file, common.clj.
2014-07-15 16:46:20 -07:00
Preben Ingvaldsen
0b2755eef5 (TK-27) Add persistent sync client
Add a persistent sync client to the persistent-sync namespace.
With this namespace, a user can now create a persistent
sync client for reuse. Also, add persistent sync client test.
2014-07-15 16:01:36 -07:00
Chris Price
729af72491 (TK-23) Cleanups based on PR feedback 2014-07-03 09:21:42 -07:00
Chris Price
186b226512 (TK-23) Port to apache HttpAsyncClient
* Ports the code over to use the Apache HttpAsyncClient library
  instead of http-kit, as we were getting some weird and inconsistent
  SSL errors from http-kit, and
* Simplify the API (by eliminating a lot of the supported configuration
  options).  Some of these options we'll eventually want to add back in,
  but for now, getting rid of them makes the API less cluttered and
  also gives us the opportunity to do a better job writing tests
  for new options when we do add support for them.

For now it only supports constructing a new client on every request.
I intend to add API for creating a client explicitly, and a protocol
for how to interact with the client.  This will allow users to
re-use an existing client as they see fit... but this hasn't been
implemented yet.
2014-07-03 08:58:46 -07:00