This represents the result of some client having submitting some work to the exchange, that work matching one or more handlers (according with the SubmissionDetails of the job), that client receiving a redirect to that/those worker(s), submitting the work to them, and then this ...
Represents a something that will request work and get a response.
Represents a something that will request work and get a response.
A normal workflow would be to request work from an exchange, have that work eventually matched with a worker, and then receive a 307 response, telling us where to go.
We then make a request (typically the original one, but perhaps not if it was e.g. a multipart request w/ a large upload or summat) to that worker.
Handles:
Handles:
PUT rest/exchange/submit PUT rest/exchange/subscribe POST rest/exchange/take
POST rest/exchange/subscriptions POST rest/exchange/jobs
see ExchangeHttp for the client-side of this
http://doc.akka.io/docs/akka-stream-and-http-experimental/1.0/scala/http/routing-dsl/index.html
Encapsulate the exchange client workflow of: 1) submit a request to the exchange 2) have a response telling it where it should go 3) submitting a request to that redirected location 4) returning 'CompletedWork', which contains the worker(s) and their responses
Contains the functions for converting our messages into HttpRequests.
Contains the functions for converting our messages into HttpRequests.
This should go hand-in-glove with ExchangeRoutes
ExchangeMain Main entry point for the rest service.
This represents the result of some client having submitting some work to the exchange, that work matching one or more handlers (according with the SubmissionDetails of the job), that client receiving a redirect to that/those worker(s), submitting the work to them, and then this ... the final result.
the matched workers and their responses
a materializer, so we can be a bit more helpful in getting some results out of one of these puppies