ó ¿öYc@@sŒdZddlmZddlmZmZddlmZddlm Z m Z ddl m Z ddl mZde fd „ƒYZd S( s¥ raven.transport.http ~~~~~~~~~~~~~~~~~~~~ :copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. i(tabsolute_import(t string_typesturllib2(tdefaults(tAPIErrort RateLimited(t Transport(turlopent HTTPTransportcB@s5eZddgZejeejd„Zd„ZRS(s sync+https sync+httpscC@sat|tƒrt|ƒ}nt|tƒrBtt|ƒƒ}n||_||_||_dS(N(t isinstanceRtinttboolttimeoutt verify_ssltca_certs(tselfR R R((sE/opt/alt/python27/lib/python2.7/site-packages/raven/transport/http.pyt__init__s  c C@sùtj|d|ƒ}y4td|d|d|jd|jd|jƒ}Wn©tjk rô}|jjdƒ}|j ƒ}|dkrÖyt |jjd ƒƒ} Wnt t fk rÃd } nXt || ƒ‚qõ|rît||ƒ‚qõ‚nX|S( sH Sends a request to a remote webserver using HTTP POST. theadersturltdataR R Rsx-sentry-errori­s retry-afteri(RtRequestRR R Rt HTTPErrorRtgettgetcodeR t ValueErrort TypeErrorRR( RRRRtreqtresponsetexctmsgtcodet retry_after((sE/opt/alt/python27/lib/python2.7/site-packages/raven/transport/http.pytsends*     ( t__name__t __module__tschemeRtTIMEOUTtTruet CA_BUNDLERR (((sE/opt/alt/python27/lib/python2.7/site-packages/raven/transport/http.pyRs   N(t__doc__t __future__Rtraven.utils.compatRRt raven.confRtraven.exceptionsRRtraven.transport.baseRtraven.utils.httpRR(((sE/opt/alt/python27/lib/python2.7/site-packages/raven/transport/http.pyts