Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
HTTP::Config(3)	      User Contributed Perl Documentation      HTTP::Config(3)

       HTTP::Config - Configuration for	request	and response objects

       version 6.25

	use HTTP::Config;
	my $c =	HTTP::Config->new;
	$c->add(m_domain => "", m_scheme =>	"http",	verbose	=> 1);

	use HTTP::Request;
	my $request = HTTP::Request->new(GET =>	"");

	if (my @m = $c->matching($request)) {
	   print "Yadayada\n" if $m[0]->{verbose};

       An "HTTP::Config" object	is a list of entries that can be matched
       against request or request/response pairs.  Its purpose is to hold
       configuration data that can be looked up	given a	request	or response

       Each configuration entry	is a hash.  Some keys specify matching to
       occur against attributes	of request/response objects.  Other keys can
       be used to hold user data.

       The following methods are provided:

       $conf = HTTP::Config->new
	   Constructs a	new empty "HTTP::Config" object	and returns it.

	   Returns the list of entries in the configuration object.  In	scalar
	   context returns the number of entries.

	   Return true if there	are no entries in the configuration object.
	   This	is just	a shorthand for	"not $conf->entries".

       $conf->add( %matchspec, %other )
       $conf->add( \%entry )
	   Adds	a new entry to the configuration.  You can either pass
	   separate key/value pairs or a hash reference.

       $conf->remove( %spec )
	   Removes (and	returns) the entries that have matches for all the
	   key/value pairs in %spec.  If %spec is empty	this will match	all
	   entries; so it will empty the configuration object.

       $conf->matching(	$uri, $request,	$response )
       $conf->matching(	$uri )
       $conf->matching(	$request )
       $conf->matching(	$response )
	   Returns the entries that match the given $uri, $request and
	   $response triplet.

	   If called with a single $request object then	the $uri is obtained
	   by calling its 'uri_canonical' method.  If called with a single
	   $response object, then the request object is	obtained by calling
	   its 'request' method; and then the $uri is obtained as if a single
	   $request was	provided.

	   The entries are returned with the most specific matches first.  In
	   scalar context returns the most specific match or "undef" in	none

       $conf->add_item(	$item, %matchspec )
       $conf->remove_items( %spec )
       $conf->matching_items( $uri, $request, $response	)
	   Wrappers that hides the entries themselves.

       The following keys on a configuration entry specify matching.  For all
       of these	you can	provide	an array of values instead of a	single value.
       The entry matches if at least one of the	values in the array matches.

       Entries that require match against a response object attribute will
       never match unless a response object was	provided.

       m_scheme	=> $scheme
	   Matches if the URI uses the specified scheme; e.g. "http".

       m_secure	=> $bool
	   If $bool is TRUE; matches if	the URI	uses a secure scheme.  If
	   $bool is FALSE; matches if the URI does not use a secure scheme.
	   An example of a secure scheme is "https".

       m_host_port => "$hostname:$port"
	   Matches if the URI's	host_port method return	the specified value.

       m_host => $hostname
	   Matches if the URI's	host method returns the	specified value.

       m_port => $port
	   Matches if the URI's	port method returns the	specified value.

       m_domain	=> ".$domain"
	   Matches if the URI's	host method return a value that	within the
	   given domain.  The hostname "" will for instance
	   match the domain ".com".

       m_path => $path
	   Matches if the URI's	path method returns the	specified value.

       m_path_prefix =>	$path
	   Matches if the URI's	path is	the specified path or has the
	   specified path as prefix.

       m_path_match => $Regexp
	   Matches if the regular expression matches the URI's path.  Eg.

       m_method	=> $method
	   Matches if the request method matches the specified value. Eg.
	   "GET" or "POST".

       m_code => $digit
       m_code => $status_code
	   Matches if the response status code matches.	 If a single digit is
	   specified; matches for all response status codes beginning with
	   that	digit.

       m_proxy => $url
	   Matches if the request is to	be sent	to the given Proxy server.

       m_media_type => "*/*"
       m_media_type => "text/*"
       m_media_type => "html"
       m_media_type => "xhtml"
       m_media_type => "text/html"
	   Matches if the response media type matches.

	   With	a value	of "html" matches if $response->content_is_html
	   returns TRUE.  With a value of "xhtml" matches if
	   $response->content_is_xhtml returns TRUE.

       m_uri__$method => undef
	   Matches if the URI object provides the method.

       m_uri__$method => $string
	   Matches if the URI's	$method	method returns the given value.

       m_header__$field	=> $string
	   Matches if either the request or the	response have a	header $field
	   with	the given value.

       m_response_attr__$key =>	undef
       m_response_attr__$key =>	$string
	   Matches if the response object has that key,	or the entry has the
	   given value.

       URI, HTTP::Request, HTTP::Response

       Gisle Aas <>

       This software is	copyright (c) 1994 by Gisle Aas.

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

perl v5.32.0			  2020-06-28		       HTTP::Config(3)


Want to link to this manual page? Use this URL:

home | help