mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-09 00:00:04 +01:00
41 lines
1.3 KiB
Markdown
41 lines
1.3 KiB
Markdown
![]() |
# Client http cookie storage, caching and application
|
||
|
|
||
|
lws now has the option to store incoming cookies in a Netscape cookie jar file
|
||
|
persistently, and auto-apply relevant cookies to future outgoing requests.
|
||
|
|
||
|
A L1 heap cache of recent cookies is maintained, along with LRU tracking and
|
||
|
removal of entries from cache and the cookie jar file according to their cookie
|
||
|
expiry time.
|
||
|
|
||
|
The cookie handling is off by default per-connection for backwards compatibility
|
||
|
and to avoid unexpected tracking.
|
||
|
|
||
|
## Enabling at build-time
|
||
|
|
||
|
Make sure `-DLWS_WITH_CACHE_NSCOOKIEJAR=1` is enabled at cmake (it is on by
|
||
|
default now).
|
||
|
|
||
|
## Configuring the cookie cache
|
||
|
|
||
|
The cookie cache is managed through context creation info struct members.
|
||
|
|
||
|
|member|function|
|
||
|
|---|---|
|
||
|
|`.http_nsc_filepath`|Filepath to store the cookie jar file at|
|
||
|
|`.http_nsc_heap_max_footprint`|0, or Max size in bytes for the L1 heap cache|
|
||
|
|`.http_nsc_heap_max_items`|0, or Max number of cookies allowed in L1 heap cache|
|
||
|
|`.http_nsc_heap_max_payload`|0, or Largest cookie we are willing to handle|
|
||
|
|
||
|
## Enabling per-connection in lws
|
||
|
|
||
|
To enable it on connections at lws level, add the flag `LCCSCF_CACHE_COOKIES` to
|
||
|
the client connection info struct `.ssl_connection` flags.
|
||
|
|
||
|
## Enabling per-connection in Secure Streams policy
|
||
|
|
||
|
To enable it on Secure Streams, in the streamtype policy add
|
||
|
|
||
|
```
|
||
|
"http_cookies": true
|
||
|
```
|