-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#8 ♻️ Restructure JSON deserialisation to enable other implementations than Circe #351
#8 ♻️ Restructure JSON deserialisation to enable other implementations than Circe #351
Conversation
...-circe/shared/src/main/scala/com/ocadotechnology/sttp/oauth2/codec/CirceEntityDecoders.scala
Outdated
Show resolved
Hide resolved
oauth2-core/shared/src/main/scala/com/ocadotechnology/sttp/oauth2/TokenUserDetails.scala
Outdated
Show resolved
Hide resolved
oauth2-core/shared/src/main/scala/com/ocadotechnology/sttp/oauth2/codec/EncodedData.scala
Outdated
Show resolved
Hide resolved
oauth2-core/shared/src/main/scala/com/ocadotechnology/sttp/oauth2/common.scala
Outdated
Show resolved
Hide resolved
oauth2-core/shared/src/main/scala/sttp/client3/oauth2json/EntityDecoderSupport.scala
Outdated
Show resolved
Hide resolved
oauth2-core/shared/src/main/scala/com/ocadotechnology/sttp/oauth2/codec/EntityEncoder.scala
Outdated
Show resolved
Hide resolved
…mplementations than Circe.
…in a single trait for simplified implementation per JSON module.
…it to the main package.
8c8000b
to
c9c362b
Compare
Regarding the open point on the |
4225d39
to
69c6967
Compare
8c9db7d
to
0fd5d25
Compare
7da53ec
to
804b77e
Compare
Macro-generated code uses deprecated methods: ``` .../com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMaker.scala: method isEmpty in class IterableOnceExtensionMethods is deprecated since 2.13.0: Use .iterator.isEmpty instead ```
804b77e
to
c02a882
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and publish as an RC
I've extracted Circe decoders to an external module via a thin abstraction layer of
EntityDecoder
as a preparation for #8.TODO
jsoniter-scala
moduleOpen points:
Scope
Audience
currently has an encoder, but I couldn't find any usages. I've removed it in this PR, but would be good to double-check whether that's OK.oauth2
) which depend on the decoders. I can see three options here:oauth2 % test
depend onoauth2-circe % compile
, which depends onoauth2 % compile
. This might not strictly be a dependency loop, but still looks a bit odd and risky. Fortunately, SBT resolves that issue by failing with a StackOverflow (a hidden one, naturally).core
module for decodable entities (done in this PR), with JSON-related modules relying only on core, allowing main tests to depend on one of the JSON modules.oauth2
and one of the JSON modules without a loop.