* Fix handling of attachments in JSON RPC
It turns out that using a custom serializer on an
input stream did not work well. For one the stream seems
to be getting closed before the JSON gets written. But
also the method for writing it was throwing an
UnsupportedOperationException further down in Jackson.
The above simplifies the matter by simply outputting the
Base64 string first and then setting it on the model.
* Add missing files to attachment fix
Co-authored-by: cedb <cedb@keylimebox.org>
Adds a simple HTTP endpoint that can be used by the container
environment to see if the app is started and available.
Co-authored-by: cedb <cedb@keylimebox.org>
* Add initial proof of concept for http server
* Add support for registration commands
* Add support for MultiLocalCommands
* Improve handling of HTTP responses
Makes it so that responses area all uniformly JSON and wrapped
into the proper response envelope.
* Add caching for workflows
* Run http server with daemon command
This fits the existing command line API better
* Wrap the existing JSON RPC handler in HTTP Service
This is a redesign of earlier attempts to make an HTTP service. Fixing
that service turned out that it would have to be a copy of the
SignalJsonRpcDispatcherHandler. So instead of copy pasting all the
code the existing service is simply being wrapped.
* Switch http server to use command handler
* Clean up and simplification
* Pass full InetSocketAddress
* Minor fixes and improvements
Based on code review.
Co-authored-by: cedb <cedb@keylimebox.org>
* Add command to get an attachment
* Refactor retrieving of attachments to use StreamDetails
* Refactor AttachmentCommand to GetAttachmentCommand
* Minor improvements to GetAttachmentCommand
* Use JSON serializer to serialize binary data
Serializing the stream is better for memory handling than
loading the whole thing into the file.
* Clean up unneeded class
* Added command to doc
Co-authored-by: cedb <cedb@keylimebox.org>
The command returns a list of messages, as soon as the timeout is reached
after the last message has been received or the maximum number of messages
has been received.