def set_headers(self, headers): h = httputils.Headers() if isinstance(headers, list): h.extend(list(map(httputils.get_header, headers))) elif type(headers) is str: h.add_header(headers) self._headers = h
def reset(self, url, data=None, query=None, method="GET", encoding=DEFAULT_ENCODING, language=DEFAULT_LANGUAGE, useragent=DEFAULT_UA, accept=DEFAULT_ACCEPT, extraheaders=None, strict=True, proxy=None, cookiejar=None, accept_encoding=None): self.clear_state() self._url = urls.UniversalResourceLocator(url, strict) self._proxy = proxy if accept_encoding: assert accept_encoding in ("identity", "gzip", "deflate") self._accept_encoding = accept_encoding h = httputils.Headers() if cookiejar: c = cookiejar.get_cookie(self._url) if c: h.append(c) h.append(httputils.UserAgent(useragents.USER_AGENTS.get(useragent, useragent))) if accept: h.append(httputils.Accept(accept)) h.append(httputils.AcceptLanguage(language)) h.append(httputils.AcceptCharset("%s,*;q=0.7" % (encoding,))) self._encoding = encoding self._language = language self._query = query self._headers = h # add header objects, which could be a list, or inet.httplib.Headers. if extraheaders and isinstance(extraheaders, list): self._headers.extend(list(map(httputils.get_header, extraheaders))) if data: self._data = data else: self._data = {} self.set_method(method)
def clear_state(self): self._method = "GET" self._url = None self._headers = httputils.Headers() self._data = {} self._proxy = None self._encoding = DEFAULT_ENCODING self._language = DEFAULT_LANGUAGE self._accept_encoding = DEFAULT_ACCEPT_ENCODING
def _get_headers(self): try: return self._headers except AttributeError: self._headers = hdrs = httputils.Headers() for k, v in self.environ.iteritems(): if k.startswith("HTTP"): hdrs.append( httputils.make_header(k[5:].replace("_", "-"), v)) return self._headers
def _make_headers(self): if self._headersobjects: return self._headersobjects else: rv = httputils.Headers() for ht in self._headers: ht = ht.strip() if ht: rv.append(httputils.get_header(ht)) self._headersobjects = rv self._headers = [] return rv
def __init__(self, content=b'', mimetype=None, charset=b"utf-8"): self.headers = httputils.Headers() self.cookies = httputils.CookieJar() self._charset = charset if mimetype: self.headers.add_header( httputils.ContentType(mimetype, charset=self._charset)) if hasattr(content, '__iter__'): self._container = content self._is_string = False else: self._container = [content] self._is_string = True
def __init__(self, content='', mimetype=None): self.headers = httputils.Headers() self.cookies = httputils.CookieJar() self._charset = sys.getdefaultencoding() # XXX if mimetype: self.headers.add_header( httputils.ContentType(mimetype, charset=self._charset)) if hasattr(content, '__iter__'): self._container = content self._is_string = False else: self._container = [content] self._is_string = True