HTTP::Headers::Util man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

HTTP::Headers::Util(3)User Contributed Perl DocumentatioHTTP::Headers::Util(3)

NAME
       HTTP::Headers::Util - Header value parsing utility functions

SYNOPSIS
	 use HTTP::Headers::Util qw(split_header_words);
	 @values = split_header_words($h->header("Content-Type"));

DESCRIPTION
       This module provides a few functions that helps parsing and
       construction of valid HTTP header values.  None of the functions are
       exported by default.

       The following functions are available:

       split_header_words( @header_values )
	   This function will parse the header values given as argument into a
	   list of anonymous arrays containing key/value pairs.	 The function
	   knows how to deal with ",", ";" and "=" as well as quoted values
	   after "=".  A list of space separated tokens are parsed as if they
	   were separated by ";".

	   If the @header_values passed as argument contains multiple values,
	   then they are treated as if they were a single value separated by
	   comma ",".

	   This means that this function is useful for parsing header fields
	   that follow this syntax (BNF as from the HTTP/1.1 specification,
	   but we relax the requirement for tokens).

	     headers	       = #header
	     header	       = (token | parameter) *( [";"] (token | parameter))

	     token	       = 1*<any CHAR except CTLs or separators>
	     separators	       = "(" | ")" | "<" | ">" | "@"
			       | "," | ";" | ":" | "\" | <">
			       | "/" | "[" | "]" | "?" | "="
			       | "{" | "}" | SP | HT

	     quoted-string     = ( <"> *(qdtext | quoted-pair ) <"> )
	     qdtext	       = <any TEXT except <">>
	     quoted-pair       = "\" CHAR

	     parameter	       = attribute "=" value
	     attribute	       = token
	     value	       = token | quoted-string

	   Each header is represented by an anonymous array of key/value
	   pairs.  The keys will be all be forced to lower case.  The value
	   for a simple token (not part of a parameter) is "undef".
	   Syntactically incorrect headers will not necessary be parsed as you
	   would want.

	   This is easier to describe with some examples:

	      split_header_words('foo="bar"; port="80,81"; DISCARD, BAR=baz');
	      split_header_words('text/html; charset="iso-8859-1"');
	      split_header_words('Basic realm="\\"foo\\\\bar\\""');

	   will return

	      [foo=>'bar', port=>'80,81', discard=> undef], [bar=>'baz' ]
	      ['text/html' => undef, charset => 'iso-8859-1']
	      [basic => undef, realm => "\"foo\\bar\""]

	   If you don't want the function to convert tokens and attribute keys
	   to lower case you can call it as "_split_header_words" instead
	   (with a leading underscore).

       join_header_words( @arrays )
	   This will do the opposite of the conversion done by
	   split_header_words().  It takes a list of anonymous arrays as
	   arguments (or a list of key/value pairs) and produces a single
	   header value.  Attribute values are quoted if needed.

	   Example:

	      join_header_words(["text/plain" => undef, charset => "iso-8859/1"]);
	      join_header_words("text/plain" => undef, charset => "iso-8859/1");

	   will both return the string:

	      text/plain; charset="iso-8859/1"

COPYRIGHT
       Copyright 1997-1998, Gisle Aas

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

perl v5.10.1			  2009-06-13		HTTP::Headers::Util(3)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net