2019-11-25 15:41:12 +01:00
2019-11-25 15:41:12 +01:00
2019-01-13 23:30:17 +01:00
2019-01-13 23:30:17 +01:00
2019-11-25 15:41:12 +01:00

flumm-fetch-cookies

A flumm-fetch wrapper with support for cookies. It supports reading/writing from/to a JSON cookie jar and keeps cookies in memory until you call CookieJar.save() to reduce disk I/O.

Usage Example

import {fetch, CookieJar} from "flumm-fetch-cookies";

(async () => {
    // creates a CookieJar instance
    let cookieJar = new CookieJar("rw", "jar.json");

    // usual fetch usage, except with one or multiple cookie jars as first parameter
    const response = await fetch(cookieJar, "https://google.de");

    // save the received cookies to disk
    cookieJar.save();
})();

Documentation

fetch(cookieJar, url, options)

Class: CookieJar

A class that stores cookies.

Properties

  • flags The read/write flags as specified below.
  • file The path of the cookie jar on the disk.
  • cookies A Map mapping cookie names to their properties.

new CookieJar(flags[, file, cookies])

  • flags A string specifying whether cookies should be read and/or written from/to the jar when passing it as parameter to fetch.
    • r: only read from this jar
    • w: only write to this jar
    • rw or wr: read/write from/to this jar
  • file An optional string containing a relative or absolute path to the file on the disk to use.
  • cookies An optional initializer for the cookie jar - either an array of Cookie instances or a single Cookie instance.

addCookie(cookie[, url])

Adds a cookie to the jar.

  • cookie A Cookie instance to add to the cookie jar. Alternatively this can also be a string, for example the string received from a website. In this case url should be specified.
  • url The url a cookie has been received from.

forEach(callback)

Just a wrapper for CookieJar.cookies.forEach(callback).

save()

Saves the cookie jar to disk. Only non-expired cookies are saved.

An abstract representation of a cookie.

Properties

  • name The identifier of the cookie.
  • value The value of the cookie.
  • expiry A Date object of the cookies expiry date.
  • domain The domain the cookie is valid for.
  • path The path the cookie is valid for.
  • secure A boolean value representing the cookie's secure attribute. If set the cookie will only be used for https requests.
  • subdomains A boolean value specifying whether the cookie should be used for subdomains of the domain or not.

new Cookie(cookie, url)

  • cookie The string representation of a cookie as send by a webserver.
  • url The url the cookie has been received from.

static fromObject(obj)

Creates a cookie instance from an already existing object with the same properties.

serialize()

Serializes the cookie, transforming it to name=value so it can be used in requests.

hasExpired()

Returns whether the cookie has expired or not.

isValidForRequest(url)

Returns whether the cookie is valid for a request to url. If not, it won't be send by the fetch wrapper.

License

This project is licensed under the MIT license, see LICENSE.

Description
No description provided
Readme 162 KiB
Languages
JavaScript 100%