Получение ключа строки cookie в Play для Scala

При получении запроса в приложении Play я могу распечатать файлы cookie следующим образом:

println(request.cookies)

и результат примерно такой:

Map(PLAY_SESSION -> Cookie(PLAY_SESSION,bd5712f8fb6a7a43935e20f98d6b147181dda9d5-inr=val1&uid=val2,None,/,None,false,true))

Мне просто нужен ключ bd5712f8fb6a7a43935e20f98d6b147181dda9d5, есть ли способ получить его в Play или мне нужно разобрать строку?


person ps0604    schedule 08.07.2016    source источник
comment
Возможно, вы могли бы взглянуть на документация   -  person cchantep    schedule 08.07.2016
comment
В нем не упоминается, как получить ключ, я его пропустил?   -  person ps0604    schedule 08.07.2016


Ответы (1)


вы можете получить значение cookie следующим образом:

val cookieValue = request.cookies.get(KEY) match {
        case Some(cookie) => cookie.value
        case None => ""
}

если вы хотите получить только ключи

val cookieNames = request.cookies.map{cookie =>
cookie.name
}
person Abhi    schedule 08.07.2016
comment
Мне нужен ключ (например, bd5712f8fb6a7a43935e20f98d6b147181dda9d5), а не значение файла cookie - person ps0604; 08.07.2016
comment
попробуйте это: request.cookies.foreach{cookie => cookie.name}, вы также можете использовать карту вместо foreach. Я также обновил свой ответ. - person Abhi; 08.07.2016
comment
Когда я говорю ключ, я имею в виду не ключ файла cookie, а строку, которую Play использует для защиты файлов cookie от взлома, например, bd5712f8fb6a7a43935e20f98d6b147181dda9d5, вот что мне нужно. Я знаю, как получить печенье. - person ps0604; 08.07.2016