NAME

Dancer2::Core::Cookie - A cookie representing class

VERSION

version 1.0.0

SYNOPSIS

use Dancer2::Core::Cookie;

my $cookie = Dancer2::Core::Cookie->new(
    name => $cookie_name, value => $cookie_value
);

my $value = $cookie->value;

print "$cookie"; # objects stringify to their value.

DESCRIPTION

Dancer2::Core::Cookie provides a HTTP cookie object to work with cookies.

ATTRIBUTES

value

The cookie's value.

(Note that cookie objects use overloading to stringify to their value, so if you say e.g. return "Hi, $cookie", you'll get the cookie's value there.)

In list context, returns a list of potentially multiple values; in scalar context, returns just the first value. (So, if you expect a cookie to have multiple values, use list context.)

name

The cookie's name.

expires

The cookie's expiration date. There are several formats.

Unix epoch time like 1288817656 to mean "Wed, 03-Nov-2010 20:54:16 GMT"

It also supports a human readable offset from the current time such as "2 hours". See the documentation of Dancer2::Core::Time for details of all supported formats.

domain

The cookie's domain.

path

The cookie's path.

secure

If true, it instructs the client to only serve the cookie over secure connections such as https.

http_only

By default, cookies are created with a property, named HttpOnly, that can be used for security, forcing the cookie to be used only by the server (via HTTP) and not by any JavaScript code.

If your cookie is meant to be used by some JavaScript code, set this attribute to 0.

same_site

Whether the cookie ought not to be sent along with cross-site requests. Valid values are Strict, Lax, or None. Default is unset. Refer to RFC6265bis for further details regarding same-site context.

METHODS

my $cookie=Dancer2::Core::Cookie->new(%opts);

Create a new Dancer2::Core::Cookie object.

You can set any attribute described in the ATTRIBUTES section above.

my $header=$cookie->to_header();

Creates a proper HTTP cookie header from the content.

AUTHOR

Dancer Core Developers

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by Alexis Sukrieh.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.