Skip to content

Latest commit

 

History

History
72 lines (71 loc) · 4.25 KB

todo.org

File metadata and controls

72 lines (71 loc) · 4.25 KB

Async Http Client - Clojure - To Do

Receive [6/6]

Status Line

Headers

Body

Instead of id, pass (ref {}) to callbacks so they have their own STM ref’ed map.

Implement response promise

Consume stream

Error function

Send [5/8]

Query parameters

Parameters

Parameters allowed only on PUT/POST

Cookies

Describe

PUT/POST body [3/3]

Support sending strings

Support sending map as form encoded data

Support InputStream body

All HTTP verbs [6/7]

GET

POST

PUT

DELETE

HEAD

OPTIONS

Others, once supported by AHC-Java

PUT/POST streaming body

That can be done with clojure.core/add-watch. Watcher in that scenario will grab new content and write it via AHC, or alternatively will clojure.core/send-off to execute IO operation in separate thread.

Multipart

Configuration [0/2]

Global configuration of AHC [0/3]

Connection limiting per host.

Global proxy.

Timeout settings

Per request configuration [1/2]

Proxy configuration

Timeout

Tasks [7/9]

License

Cleanup namespaces

async.http.client

Should contain helper functions to call all HTTP verbs. Default set of call-backs.

async.http.client.request

Lower level of requesting:

  • execute-request
  • prepare-request

Release 0.1.0

Release 0.1.1

Release 0.2.0

Changes:

  • Stream as seq
  • Streams used instead of byte vectors (issue-1)
  • keyworded maps are used in api

Make tests stand-alone

Test suite should not fail when there is now hello-www on port 8080.

Simplify request preparation

For now fns like GET will call prepare-get that will call prepare-reqeust. I don’t think prepare-get is necessary, should be quite fine to only use prepare-request.

Use last argument as key worded map

As suggested by Licenser on #clojure here.

Review documentation