Skip to content

Http abstraction over RPC #1536

@XavierChanth

Description

@XavierChanth

Is your feature request related to a problem? Please describe.

It would be nice to have better interop with HTTP based programs, so having a wrapper around RPC which implements the HTTP interfaces in Dart would be nice to have.

Describe the solution you'd like

There are two solutions that come to mind:

  1. A library which simply exposes an RPC client as an HTTP client interface, and an RPC server as an HTTP server interface. This is useful when you want a single solution that looks and feels like an HTTP server, but is not an HTTP server. I see this being used to take an existing application using HTTP and simply swap out the HTTP interface with an atPlatform RPC service. (i.e. touching as little code as possible)

  2. A library which serves an HTTP server, which forwards requests over an RPC client, and an RPC server which forwards requests over an HTTP client. I see this being used to along side an existing HTTP application, and wrapping it by point the HTTP client at the atRPC's HTTP server, and then point the atRPC's HTTP client at the HTTP server. (i.e. touching no existing code, only changing routes and closing ports)

For both solutions, there is only real value if it can support at_policy natively, ideally with developer defined policy evaluation. (i.e. the application developer defines how the RPC server resolves policies, not some statically pre-defined way)

Describe alternatives you've considered

NoPorts is the only way right now, but NoPorts is incapable of applying policy evaluation to the HTTP request body, in theory this solution would be able to.

Additional context

N/A

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions