Cookie Module

The cookie module is geared towards the server having the client store state but the client not being able to read that state.

Types and nested modules

Type/Module Description

CookiesState (Module)

CookieError

There was an error reading or decrypting the cookie.

CookieLife

For how long should the cookie persist in the client's browser?

CookiesState (Type)

A DTO structure for passing the right parameters to the XXX_cookies functions in this module.

Functions and values

Function or value Description

cookieState csctx noCookie decryptionFailure fSuccess

Full Usage: cookieState csctx noCookie decryptionFailure fSuccess

Parameters:
Returns: WebPart
csctx : CookiesState
noCookie : unit -> Choice<byte[], WebPart>
decryptionFailure : SecretboxDecryptionError -> Choice<byte[], WebPart>
fSuccess : WebPart
Returns: WebPart

generateCookies serverKey cookieName relativeExpiry secure plainData

Full Usage: generateCookies serverKey cookieName relativeExpiry secure plainData

Parameters:
    serverKey : ServerKey
    cookieName : string
    relativeExpiry : CookieLife
    secure : bool
    plainData : byte[]

Returns: HttpCookie * HttpCookie

Generate one server-side cookie, and another client-side cookie with name "${server-side-name}-client"

serverKey : ServerKey
cookieName : string
relativeExpiry : CookieLife
secure : bool
plainData : byte[]
Returns: HttpCookie * HttpCookie

parseCookies cookieString

Full Usage: parseCookies cookieString

Parameters:
    cookieString : string

Returns: HttpCookie list

Parse the cookie's name and data in the string into a dictionary.

cookieString : string
Returns: HttpCookie list

parseResultCookie cookieString

Full Usage: parseResultCookie cookieString

Parameters:
    cookieString : string

Returns: HttpCookie
cookieString : string
Returns: HttpCookie

readCookies key cookieName cookies

Full Usage: readCookies key cookieName cookies

Parameters:
Returns: Choice<(HttpCookie * byte[]), CookieError>

Tries to read the cookie of the given name from the HttpContext, and returns the cookie and its plaintext value if successful.

key : ServerKey
cookieName : string
cookies : Map<string, HttpCookie>
Returns: Choice<(HttpCookie * byte[]), CookieError>

refreshCookies expiry cookie

Full Usage: refreshCookies expiry cookie

Parameters:
Returns: WebPart

Bumps the expiry dates for all the cookies.

expiry : CookieLife
cookie : HttpCookie
Returns: WebPart

setCookie cookie

Full Usage: setCookie cookie

Parameters:
Returns: WebPart
cookie : HttpCookie
Returns: WebPart

setPair httpCookie clientCookie

Full Usage: setPair httpCookie clientCookie

Parameters:
Returns: WebPart

Sets the cookies to the HttpResult

httpCookie : HttpCookie
clientCookie : HttpCookie
Returns: WebPart

unsetCookie name

Full Usage: unsetCookie name

Parameters:
    name : string

Returns: WebPart
name : string
Returns: WebPart

unsetPair httpCookieName

Full Usage: unsetPair httpCookieName

Parameters:
    httpCookieName : string

Returns: WebPart
httpCookieName : string
Returns: WebPart

updateCookies csctx fPlainText

Full Usage: updateCookies csctx fPlainText

Parameters:
Returns: WebPart
csctx : CookiesState
fPlainText : byte[] option -> byte[]
Returns: WebPart

Type extensions

Type extension Description

this.cookies ()

Full Usage: this.cookies ()

Parameters:
    () : unit

Returns: Map<string, HttpCookie>

Finds the cookies of the request, or an empty Map otherwise, if there are no cookies.

Extended Type: HttpRequest

() : unit
Returns: Map<string, HttpCookie>

this.cookies

Full Usage: this.cookies

Returns: Map<string, HttpCookie>

Finds the cookies of the request, or an empty Map otherwise, if there are no cookies.

Extended Type: HttpRequest

Returns: Map<string, HttpCookie>

this.cookies ()

Full Usage: this.cookies ()

Parameters:
    () : unit

Returns: Map<string, HttpCookie>

Extended Type: HttpResult

() : unit
Returns: Map<string, HttpCookie>

this.cookies

Full Usage: this.cookies

Returns: Map<string, HttpCookie>

Extended Type: HttpResult

Returns: Map<string, HttpCookie>