Project

General

Profile

0001-misc-switch-http-support-to-requests-library-19437.patch

Frédéric Péters, 15 November 2017 12:21 PM

Download (3.77 KB)

View differences:

Subject: [PATCH 1/2] misc: switch http support to requests library (#19437)

 debian/control      |  1 +
 wcs/qommon/misc.py  | 44 ++++++++++++--------------------------------
 wcs/qommon/saml2.py |  2 --
 3 files changed, 13 insertions(+), 34 deletions(-)
debian/control
graphviz,
python-feedparser,
python-imaging,
python-requests,
python-vobject,
uwsgi,
uwsgi-plugin-python
wcs/qommon/misc.py
import re
import os
import time
import httplib
import urllib
import socket
import ssl
import base64
import json
import subprocess
......
import unicodedata
import hashlib
import requests
try:
from PIL import Image
except ImportError:
......
else:
hostname, query = urllib.splithost(url[6:])
auth = None
if '@' in hostname:
authenticator, hostname = hostname.split('@')
if ':' in authenticator:
......
else:
username = authenticator
password = ''
headers['Authorization'] = 'Basic %s' % base64.b64encode('%s:%s' % (username, password))
connection_kwargs = {'host': hostname}
if timeout:
connection_kwargs['timeout'] = timeout
if cert_file:
connection_kwargs['cert_file'] = cert_file
if url.startswith('http://'):
conn = httplib.HTTPConnection(**connection_kwargs)
else: # https
conn = httplib.HTTPSConnection(**connection_kwargs)
query = query.replace('&', '&')
auth = (username, password)
try:
conn.request(method, query, body, headers)
response = conn.getresponse()
except socket.gaierror, (err, msg):
conn.close()
raise ConnectionError('error while connecting to %s (%s)' % (hostname, msg))
except socket.timeout, err:
conn.close()
response = requests.request(method, url, headers=headers, data=body,
timeout=timeout, cert=cert_file)
except requests.Timeout:
raise ConnectionError('connection timed out while fetching the page')
except socket.error, err:
conn.close()
raise ConnectionError('error while fetching the page (%s)' % err)
except ssl.CertificateError, err:
conn.close()
raise ConnectionError('certificate error when connecting (%s)' % err)
except requests.RequestException as err:
raise ConnectionError('error in http request to to %s (%s)' % (hostname, err))
else:
data = response.read()
status = response.status
auth_header = response.getheader('WWW-Authenticate')
conn.close()
data = response.content
status = response.status_code
auth_header = response.headers.get('WWW-Authenticate')
return response, status, data, auth_header
wcs/qommon/saml2.py
# along with this program; if not, see <http://www.gnu.org/licenses/>.
import os
import httplib
import urllib
import urlparse
import time
import sys