diff --git a/404.html b/404.html index 3b20543..b58d514 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@
{
"login": {
"method":"post",
"template": "api/login"
},
"getMessages": {
"method":"get",
"template":"api/getMessages/{username}"
},
"register": {
"method":"post",
"template":"api/register"
},
"logout": {
"method":"post",
"template": "api/logout"
},
"sendMessage": {
"method":"post",
"template": "api/sendMessage"
}
}
Strutture dati (custom types) necessarie per le richieste e risposte sono descritte in pronto.iol
:
type loginRequest{
.username: string
.password: string
}
type logoutRequest{
.username?: string
.sid?: string
}
type registerRequest{
.username: string
.password: string
.name: string
.surname: string
}
type messagesRequest{
.username: string
.sid?: string
}
type prontoResponse :void{
.message: string
.sid?: string
.status?: int
}
type sendMessageRequest{
.message: string
.username: string
.expiration?: string
}
type loginRequest{
.username: string
.password: string
.sid?: string
}
type logoutRequest{
.username?: string
.sid?: string
}
type registerRequest{
.username: string
.password: string
.name: string
.surname: string
}
type messagesRequest{
.username: string
.sid?: string
}
type prontoResponse :void{
.message: string
.sid?: string
.status?: int
}
type sendMessageRequest{
.message: string
.username: string
.expiration: string
.sid?: string
}
Nelle strutture, l'attributo sid
è l'identificatore univoco generato dal server Jolie per il managing delle sessioni utente, che agirà come valore del cookie in grado di gestire l'autenticazione.
All'interno di RestHandler.ol
troviamo:
main{
[incomingHeaderHandler(request)(response){
if ( request.operation == "api/login" ){
getJsonValue@JsonUtils(request.headers.("data"))(credentials)
response.username = credentials.username
response.password = credentials.password
} else if (request.operation == "api/register") {
getJsonValue@JsonUtils(request.headers.("data"))(credentials)
response.username = credentials.username
response.password = credentials.password
response.name = credentials.name
response.surname = credentials.surname
} else if (request.operation == "getMessages" || request.operation == "logout"){
response.sid = request.headers.cookies.session
}
}]
...
}