Skip to content
This repository was archived by the owner on Feb 10, 2025. It is now read-only.

Conversation

@levand
Copy link
Contributor

@levand levand commented Feb 3, 2025

Unfortunately required pretty extensive re-working, since no existing HTTP client library works across all three target platforms: Clojure, ClojureScript and ClojureDart.

This PR:

  • Create a simple HTTP protocol (for the subset of HTTP used by ATProto to allow for alternate impls)
  • Use callbacks as lowest common denominator for cross-platform async code
  • Introduces a simple callback-based interceptor pattern to facilitate separation of concerns around response processing and authentication.
  • Supports all supported permutations of async programming (callback/core.async/promises) on supported platforms.

Validation is currently not enabled. I recommend we build a module to read lexicon files and construct a spec-based validator (which can be added as an interceptor, when desired.)

- create simple HTTP protocol to allow for alternate impls
- use callbacks as lowest common denominator for async code
- simple interceptor pattern to facilitate auth and other content
  types
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant