1) The Json representation is made from the protobuf using proto3's json
form. So think of the proto files as a specification in essence and they do
reduce the data bandwidth needed and the amount of storage needed.

2) The atmosphere websockets implementation is a bit dated and can be
written using the java core websocket api. With sessions I believe just
checking a session still exists before sending or receiving on a websocket
will remove all the issues and we can close the socket at that time.

On Sat, 24 Dec 2016 at 20:16 Pablo Ojanguren <pablo...@gmail.com> wrote:

Hi Evan,

That's cool. Two questions...

- Is there any advantage providing the API's data as protobuf insteand just
JSON? It might be easier just to provide the latest.
- It seems good idea to have a separated URL context for the API

Also, there are some improvements in SwellRT's servlets regarding session
management... that you could take for this effort.
I will be happy to discuss details of API's methods and messages.

Cheers

2016-12-24 8:52 GMT+01:00 Evan Hughes <wisebald...@apache.org>:

> Hello All,
>
> Just wanting to get some feedback from the community as I start rewriting
> the client and the api behind it (to replace the Gwt code in the repo and
> the current servlets).
>
> http://localhost:9898/api/auth/login?format=json
> http://localhost:9898/api/auth/login?format=protobuf
> http://localhost:9898/api/auth/login    // defaults to the protobuf
>
> currently using url's like the ones above with a response like:
>
> {
>   "email": true
> }
> which states that email authentication is available (allows us to add
> oauth providers latter). The change of URL is due to using client side
> frameworks (Angular 2) instead of GWT to achieve the UI which will be
> at a non /api/ route. This also lets the server be more easily
> configured to be of use to SwellRT and other projects as our client
> isn't part of the backend anymore and the server is an abstract
> element.Ive also made the source for this endpoint at
> /wave/src/main/java/org/apache/wave/server/api/v1/LoginServlet.java so
> that we can remove dead code as we transition into one naming scheme
> instead of the 3 that exist atm.
>
> ~ Evan Hughes
>

Reply via email to