##
18.23.2 Morsel Objects

class `Morsel`( | )

  Abstract a key/value pair, which has some RFC 2109 attributes.

  Morsels are dictionary-like objects, whose set of keys is constant -- the valid RFC 2109 attributes, which are

  - `expires`
  - `path`
  - `comment`
  - `domain`
  - `max-age`
  - `secure`
  - `version`

  The keys are case-insensitive.

`value`
  The value of the cookie.

`coded_value`
  The encoded value of the cookie -- this is what should be sent.

`key`
  The name of the cookie.

`set`( | key, value, coded_value)

  Set the key, value and coded_value members.

`isReservedKey`( | K)

  Whether K is a member of the set of keys of a `Morsel`.

`output`( | [attrs[, header]])

  Return a string representation of the Morsel, suitable to be sent as an HTTP header. By default, all the attributes are included, unless attrs is given, in which case it should be a list of attributes to use. header is by default `"Set-Cookie:"`.

`js_output`( | [attrs])

  Return an embeddable JavaScript snippet, which, if run on a browser which supports JavaScript, will act the same as if the HTTP header was sent.

  The meaning for attrs is the same as in `output()`.

`OutputString`( | [attrs])

  Return a string representing the Morsel, without any surrounding HTTP or JavaScript.

  The meaning for attrs is the same as in `output()`.