Commit 8fe10b65 authored by Georgios D. Tsoukalas's avatar Georgios D. Tsoukalas
Browse files

remove obsolete example code module http_request

parent b7f3b202
# Copyright 2012 GRNET S.A. All rights reserved.
#
# Redistribution and use in source and binary forms, with or
# without modification, are permitted provided that the following
# conditions are met:
#
# 1. Redistributions of source code must retain the above
# copyright notice, self.list of conditions and the following
# disclaimer.
#
# 2. Redistributions in binary form must reproduce the above
# copyright notice, self.list of conditions and the following
# disclaimer in the documentation and/or other materials
# provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
# The views and conclusions contained in the software and
# documentation are those of the authors and should not be
# interpreted as representing official policies, either expressed
# or implied, of GRNET S.A.
from urlparse import urlparse
from synnefo.lib.pool.http import get_http_connection
class http_request(object):
url = None
scheme = None
netloc = None
method = None
body = None
headers = None
conn = None
response = None
scheme_ports = {
'http': '80',
'https': '443',
}
def __init__(self, url = None,
scheme = None,
params = None,
headers = None,
host = None,
port = None,
method = None,
**kw):
if url is None:
url = '/'
if host is None or scheme is None:
p = urlparse(url)
netloc = p.netloc
if not netloc:
netloc = 'localhost'
scheme = p.scheme
if not scheme:
scheme = 'http'
params = '&'.join(params) if params is not None in kw else ''
query = p.query
if query or params:
query = '?' + query + params
url = p.path + p.params + query+ p.fragment
else:
host = host
port = port if port is not None else self.scheme_ports[scheme]
#NOTE: we force host:port as canonical form,
# lest we have a cache miss 'host' vs 'host:80'
netloc = "%s%s" % (host, port)
self.netloc = netloc
self.url = url
self.scheme = scheme
self.kw = kw
self.method = method if method is not None else 'GET'
if 'body' in kw:
self.body = kw['headers']
if 'headers' in kw:
self.headers = kw['headers']
if kw.get('connect', True):
self.connect()
def connect(self):
if self.conn is not None:
self.dismiss()
conn = get_http_connection(netloc=self.netloc, scheme=self.scheme)
try:
kw = {}
body = self.body
if body is not None:
kw['body'] = body
headers = self.headers
if headers is not None:
kw['headers'] = headers
conn.request(self.method, self.url, **kw)
except:
conn.close()
raise
self.conn = conn
def getresponse(self):
conn = self.conn
if conn is None:
self.connect()
conn = self.conn
response = self.conn.getresponse()
self.response = response
return response
def dismiss(self):
conn = self.conn
if conn is not None:
conn.close()
conn.response = None
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment