Cookie Store

A função ctx.cookieStore() fornece um conveniente caminho para compartilhar informações entre handlers, request ou até mesmo servidores:

O cookieStore funciona desta maneira:

1. O primeiro handler que combina a entrada do request que irá popular o cookie-store-map com dados guardados no cookie (caso exista).

2. Este map pode agora ser utilizado como um estado entre handlers no mesmo ciclo de request, bastante parecido com o ctx.attribute().

3. No fim do ciclo do request, o cookie-store-map é serializado, base64-encoded e escrito no response como um cookie. Isto permite você dividir o map entre requests e servers (no caso você está executando múltiplos servidores por trás de um load-balancer)

Exemplo:

  • Java
  • Kotlin

Desde que o cliente guarda o cookie, o get request para o serverTwoApp irá ser capaz de recuperar as informações que foram passadas via post para serverOneApp.

Lembre-se que os cookies têm no máximo 4kb.

Context extensions

Context extensions fornece para o desenvolvedor Java uma maneira de estender o objeto Context.

Um dos mais populares recursos do Kotlin é a extension functions. Quando trabalhar com um objeto que não seja Java, você muitas vezes termina fazendo MyUtil.action(object, …).

Se você, por exemplo, quiser serializar um objeto e configurar o resultado no Context, você pode fazer:

Com context extensions você pode adicionar extensões no context:

Context extensions deve ser adicionado antes de ser utilizado, isto pode tipicamente ser feito primeiro (before) no filtro do seu app:

WebSockets

Javalin é muito intuitivo para utilizar o WebSockets. Você declara um endpoint com um caminho e configura um diferente event handlers no lambda:

  • Java
  • Kotlin

Há no total cinco eventos suportados:

Os diferentes sabores de WsContext expõe diferentes coisas, como por exemplo, WsMessageContext tem o método .message() o qual dá a mensagem que o cliente mandou. As diferenças entre os diferentes contexts é pequena.

Fonte: https://javalin.io/documentation

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário

*

Seja o primeiro a comentar!