Skip to content
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

Hello, Http Server integration #203

Conversation

juanpedromoreno
Copy link
Member

Related to #182

This is a very beginning for supporting HTTP auto-derived endpoints from RPC protocols:

  • Adds the new Sbt module for the HTTP server.
  • Http config model.
  • Adds a couple of helpers.
  • Dummy tests for these helpers.

@juanpedromoreno juanpedromoreno mentioned this pull request Mar 19, 2018
11 tasks
@juanpedromoreno juanpedromoreno requested a review from a team March 19, 2018 15:55
Copy link
Contributor

@eperinan eperinan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@juanpedromoreno juanpedromoreno changed the base branch from master to feature/182-http-support-from-protocols March 19, 2018 16:08
@juanpedromoreno juanpedromoreno merged commit edca907 into feature/182-http-support-from-protocols Mar 20, 2018
@juanpedromoreno juanpedromoreno deleted the frees-rpc-http-sbt-module branch March 20, 2018 06:04
pepegar pushed a commit that referenced this pull request Jul 18, 2018
rafaparadela pushed a commit that referenced this pull request Mar 8, 2019
* Initial steps for http integration (#203)

* Implemented sample client and server REST handlers to be generated

* Added monix.Observable implementation

This is basically a conversion to/from the internal fs2.Stream.

* Implemented error handling for unary and streaming REST services (#258)

* Tentative fix for the hanging Monix-Observable tests

* Undo Single Abstract Method syntax to restore 2.11 compatibility

* Add auto-derived HTTP client implementation, move packages

Note: Update of Monix/FS2 conversions is in progress with some outdated implementations removed, which fails several tests.

* Fix Monix/FS2 conversions using updated dependency

* fixes Scala 2.11 compilation error

* fixes unit tests to prove http client derivation

* removes some println

* adds more tests

* removes the macro params that can be inferred

* builds the client according to the typology of the request

* fixes macro

* advances with client derivation

* adds more unit test to prove the derived http client

* restores the derivation of the rpc server, without the refactoring

* re-applies part of the refactoring little by little

* applies the refactoring again with the fix

* derived the simplest http route that only serves GET calls

* derived the stream reaquests http server

* fixes the binding pattern in POST routes

* adds tests to cover all the possible types of endpoints

* removes unused imports

* removed unused HttpMethod

* upgraded http4s and moved Utils

* solves all the comments in code review

* expressed type as FQN and propagated encoder/decoders constraints

* removes the import of monix.Scheduler in the macro

* replaces executionContext by Schedule at some points

* adds _root_ to ExecutionContext

* Apply suggestions from code review

* removes circe-generic

* replaces Throwable by UnexpectedError and its encoder/decoder
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants