Mojo::Headers.3pm

Langue: en

Version: 2010-08-12 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Mojo::Headers - Headers

SYNOPSIS

     use Mojo::Headers;
 
     my $headers = Mojo::Headers->new;
     $headers->content_type('text/plain');
     $headers->parse("Content-Type: text/html\n\n");
     print "$headers";
 
 

DESCRIPTION

Mojo::Headers is a container and parser for HTTP headers.

ATTRIBUTES

Mojo::Headers implements the following attributes.

buffer

     my $buffer = $headers->buffer;
     $headers   = $headers->buffer(Mojo::ByteStream->new);
 
 

The Buffer to use for header parsing, by default a Mojo::ByteStream object.

METHODS

Mojo::Headers inherits all methods from Mojo::Base and implements the following new ones.

accept_language

     my $accept_language = $headers->accept_language;
     $headers            = $headers->accept_language('de, en');
 
 

Shortcut for the "Accept-Language" header.

accept_ranges

     my $ranges = $headers->accept_ranges;
     $headers   = $headers->accept_ranges('bytes');
 
 

Shortcut for the "Accept-Ranges" header.

add

     $headers = $headers->add('Content-Type', 'text/plain');
 
 

Add one or more header lines.

authorization

     my $authorization = $headers->authorization;
     $headers          = $headers->authorization('Basic Zm9vOmJhcg==');
 
 

Shortcut for the "Authorization" header.

to_string

build

     my $string = $headers->build;
     my $string = $headers->to_string;
     my $string = "$headers";
 
 

Format headers suitable for HTTP 1.1 messages.

connection

     my $connection = $headers->connection;
     $headers       = $headers->connection('close');
 
 

Shortcut for the "Connection" header.

content_disposition

     my $content_disposition = $headers->content_disposition;
     $headers                = $headers->content_disposition('foo');
 
 

Shortcut for the "Content-Disposition" header.

content_length

     my $content_length = $headers->content_length;
     $headers           = $headers->content_length(4000);
 
 

Shortcut for the "Content-Length" header.

content_range

     my $range = $headers->content_range;
     $headers  = $headers->content_range('bytes 2-8/100');
 
 

Shortcut for the "Content-Range" header.

content_transfer_encoding

     my $encoding = $headers->content_transfer_encoding;
     $headers     = $headers->content_transfer_encoding('foo');
 
 

Shortcut for the "Content-Transfer-Encoding" header.

content_type

     my $content_type = $headers->content_type;
     $headers         = $headers->content_type('text/plain');
 
 

Shortcut for the "Content-Type" header.

     my $cookie = $headers->cookie;
     $headers   = $headers->cookie('$Version=1; f=b; $Path=/');
 
 

Shortcut for the "Cookie" header.

date

     my $date = $headers->date;
     $headers = $headers->date('Sun, 17 Aug 2008 16:27:35 GMT');
 
 

Shortcut for the "Date" header.

expect

     my $expect = $headers->expect;
     $headers   = $headers->expect('100-continue');
 
 

Shortcut for the "Expect" header.

from_hash

     $headers = $headers->from_hash({'Content-Type' => 'text/html'});
 
 

Parse headers from a hash.

header

     my $string = $headers->header('Content-Type');
     my @lines  = $headers->header('Content-Type');
     $headers   = $headers->header('Content-Type' => 'text/plain');
 
 

Get or replace the current header values. Note that this method is context sensitive and will turn all header lines into a single one in scalar context.

host

     my $host = $headers->host;
     $headers = $headers->host('127.0.0.1');
 
 

Shortcut for the "Host" header.

if_modified_since

     my $m    = $headers->if_modified_since;
     $headers = $headers->if_modified_since('Sun, 17 Aug 2008 16:27:35 GMT');
 
 

Shortcut for the "If-Modified-Since" header.

is_done

     my $done = $headers->is_done;
 
 

Check if header parser is done.

last_modified

     my $m    = $headers->last_modified;
     $headers = $headers->last_modified('Sun, 17 Aug 2008 16:27:35 GMT');
 
 

Shortcut for the "Last-Modified" header.

location

     my $location = $headers->location;
     $headers     = $headers->location('http://127.0.0.1/foo');
 
 

Shortcut for the "Location" header.

names

     my $names = $headers->names;
 
 

Generate a list of all currently defined headers.

origin

     my $origin = $headers->origin;
     $headers   = $headers->origin('http://example.com');
 
 

Shortcut for the "Origin" header.

parse

     my $success = $headers->parse("Content-Type: text/foo\n\n");
 
 

Parse formatted headers.

proxy_authenticate

     my $authenticate = $headers->proxy_authenticate;
     $headers         = $headers->proxy_authenticate('Basic "realm"');
 
 

Shortcut for the "Proxy-Authenticate" header.

proxy_authorization

     my $proxy_authorization = $headers->proxy_authorization;
     $headers = $headers->proxy_authorization('Basic Zm9vOmJhcg==');
 
 

Shortcut for the "Proxy-Authorization" header.

range

     my $range = $headers->range;
     $headers  = $headers->range('bytes=2-8');
 
 

Shortcut for the "Range" header.

referrer

     my $referrer = $headers->referrer;
     $headers     = $headers->referrer('http://mojolicious.org');
 
 

Shortcut for the "Referer" header, there was a typo in RFC 2068 which resulted in "Referer" becoming an official header.

remove

     $headers = $headers->remove('Content-Type');
 
 

Remove a header.

sec_websocket_key1

     my $key1 = $headers->sec_websocket_key1;
     $headers = $headers->sec_websocket_key1('4 @1  46546xW%0l 1 5');
 
 

Shortcut for the "Sec-WebSocket-Key1" header.

sec_websocket_key2

     my $key2 = $headers->sec_websocket_key2;
     $headers = $headers->sec_websocket_key2('12998 5 Y3 1  .P00');
 
 

Shortcut for the "Sec-WebSocket-Key2" header.

sec_websocket_location

     my $location = $headers->sec_websocket_location;
     $headers     = $headers->sec_websocket_location('ws://example.com/demo');
 
 

Shortcut for the "Sec-WebSocket-Location" header.

sec_websocket_origin

     my $origin = $headers->sec_websocket_origin;
     $headers   = $headers->sec_websocket_origin('http://example.com');
 
 

Shortcut for the "Sec-WebSocket-Origin" header.

sec_websocket_protocol

     my $protocol = $headers->sec_websocket_protocol;
     $headers     = $headers->sec_websocket_protocol('sample');
 
 

Shortcut for the "Sec-WebSocket-Protocol" header.

server

     my $server = $headers->server;
     $headers   = $headers->server('Mojo');
 
 

Shortcut for the "Server" header.

     my $set_cookie = $headers->set_cookie;
     $headers       = $headers->set_cookie('f=b; Version=1; Path=/');
 
 

Shortcut for the "Set-Cookie" header.

set_cookie2

     my $set_cookie2 = $headers->set_cookie2;
     $headers        = $headers->set_cookie2('f=b; Version=1; Path=/');
 
 

Shortcut for the "Set-Cookie2" header.

status

     my $status = $headers->status;
     $headers   = $headers->status('200 OK');
 
 

Shortcut for the "Status" header.

to_hash

     my $hash = $headers->to_hash;
     my $hash = $headers->to_hash(arrayref => 1);
 
 

Format headers as a hash. Nested arrayrefs to represent multi line values are optional.

trailer

     my $trailer = $headers->trailer;
     $headers    = $headers->trailer('X-Foo');
 
 

Shortcut for the "Trailer" header.

transfer_encoding

     my $transfer_encoding = $headers->transfer_encoding;
     $headers              = $headers->transfer_encoding('chunked');
 
 

Shortcut for the "Transfer-Encoding" header.

upgrade

     my $upgrade = $headers->upgrade;
     $headers    = $headers->upgrade('WebSocket');
 
 

Shortcut for the "Upgrade" header.

user_agent

     my $user_agent = $headers->user_agent;
     $headers       = $headers->user_agent('Mojo/1.0');
 
 

Shortcut for the "User-Agent" header.

www_authenticate

     my $authenticate = $headers->www_authenticate;
     $headers         = $headers->www_authenticate('Basic "realm"');
 
 

Shortcut for the "WWW-Authenticate" header.

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.