| Home | Trees | Indices | Help | 
 | 
|---|
|  | 
object --+    
         |    
 Validator --+
             |
            IS_HTTP_URL
Rejects a URL string if any of the following is true:
   * The string is empty or None
   * The string uses characters that are not allowed in a URL
   * The string breaks any of the HTTP syntactic rules
   * The URL scheme specified (if one is specified) is not 'http' or 'https'
   * The top-level domain (if a host name is specified) does not exist
Based on RFC 2616: http://www.faqs.org/rfcs/rfc2616.html
This function only checks the URL's syntax. It does not check that the URL
points to a real document, for example, or that it otherwise makes sense
semantically. This function does automatically prepend 'http://' in front
of a URL in the case of an abbreviated URL (e.g. 'google.ca').
The list of allowed schemes is customizable with the allowed_schemes
parameter. If you exclude None from the list, then abbreviated URLs
(lacking a scheme such as 'http') will be rejected.
The default prepended scheme is customizable with the prepend_scheme
parameter. If you set prepend_scheme to None then prepending will be
disabled. URLs that require prepending to parse will still be accepted,
but the return value will not be modified.
@author: Jonathan Benn
>>> IS_HTTP_URL()('http://1.2.3.4')
('http://1.2.3.4', None)
>>> IS_HTTP_URL()('http://abc.com')
('http://abc.com', None)
>>> IS_HTTP_URL()('https://abc.com')
('https://abc.com', None)
>>> IS_HTTP_URL()('httpx://abc.com')
('httpx://abc.com', 'enter a valid URL')
>>> IS_HTTP_URL()('http://abc.com:80')
('http://abc.com:80', None)
>>> IS_HTTP_URL()('http://user@abc.com')
('http://user@abc.com', None)
>>> IS_HTTP_URL()('http://user@1.2.3.4')
('http://user@1.2.3.4', None)
| 
 | |||
| 
 | |||
| 
 | |||
| Inherited from  Inherited from  | |||
| 
 | |||
| GENERIC_VALID_IP = re.compile(r' | |||
| GENERIC_VALID_DOMAIN = re.compile(r' | |||
| 
 | |||
| Inherited from  | |||
| 
 | |||
| 
 
:param error_message: a string, the error message to give the end user
    if the URL does not validate
:param allowed_schemes: a list containing strings or None. Each element
    is a scheme the inputed URL is allowed to use
:param prepend_scheme: a string, this scheme is prepended if it's
    necessary to make the URL valid
 | 
| 
 
:param value: a string, the URL to validate
:returns: a tuple, where tuple[0] is the inputed value
    (possible prepended with prepend_scheme), and tuple[1] is either
    None (success!) or the string error_message
 | 
| 
 | |||
| GENERIC_VALID_IP
 | 
| GENERIC_VALID_DOMAIN
 | 
| Home | Trees | Indices | Help | 
 | 
|---|
| Generated by Epydoc 3.0.1 on Mon Oct 14 15:17:06 2013 | http://epydoc.sourceforge.net |