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

FreeBSD Manual Pages

  
 
  

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

NAME
       HTTP::Config - Configuration for	request	and response objects

VERSION
       version 6.25

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

	use HTTP::Request;
	my $request = HTTP::Request->new(GET =>	"http://www.example.com");

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

DESCRIPTION
       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
       object.

       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.

       $conf->entries
	   Returns the list of entries in the configuration object.  In	scalar
	   context returns the number of entries.

       $conf->empty
	   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
	   match.

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

   Matching
       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 "www.example.com" 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.
	   qr/\.html$/.

       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.

SEE ALSO
       URI, HTTP::Request, HTTP::Response

AUTHOR
       Gisle Aas <gisle@activestate.com>

COPYRIGHT AND LICENSE
       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)

NAME | VERSION | SYNOPSIS | DESCRIPTION | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HTTP::Config&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help