コード例 #1
0
ファイル: request.py プロジェクト: rraabb/powerdb2
    def __init__(self, 
            timeout=DEFAULT_CONN_TIMEOUT, 
            filters=None, 
            follow_redirect=False, 
            force_follow_redirect=False, 
            max_follow_redirect=MAX_FOLLOW_REDIRECTS,
            decompress=True,
            pool_instance=None, 
            response_class=None,
            conn_manager=None,
            nb_connections=DEFAULT_CONN_NB_CONNECTIONS,
            **ssl_args):
            
        """ HttpRequest constructor
        
        :param timeout: socket timeout
        :param filters: list, list of http filters. see the doc of http filters 
        for more info
        :param follow_redirect: boolean, by default is false. If true, 
        if the HTTP status is 301, 302 or 303 the client will follow
        the location.
        :param max_follow_redirect: max number of redirection. If max is reached
        the RedirectLimit exception is raised.
        :param conn_manager: a connectoin manager instance inherited from 
        `restkit.conn.base.ConnectioManager`
        :param ssl_args: ssl arguments. See http://docs.python.org/library/ssl.html
        for more information.
        """
        self._conn = None
        self.timeout = timeout
        self.headers = []
        self.req_headers = []
        self.ua = USER_AGENT
        self.url = None
        
        self.follow_redirect = follow_redirect
        self.nb_redirections = max_follow_redirect
        self.force_follow_redirect = force_follow_redirect
        self.decompress = decompress
        self.method = 'GET'
        self.body = None
        self.response_body = StringIO()
        self.final_url = None
        
        # build filter lists
        self.filters = Filters(filters)
        self.ssl_args = ssl_args or {}

        if pool_instance is not None:
            self.conn_manager = pool_instance
        elif conn_manager is not None:
            self.conn_manager = conn_manager
        else:
            self.conn_manager = get_default_manager(
                    timeout=timeout,
                    nb_connections=nb_connections
            )
            
        if response_class is not None:
            self.response_class = response_class
コード例 #2
0
 def __init__(self,
              pool=None,
              allowed_methods=ALLOWED_METHODS,
              strip_script_name=True,
              **kwargs):
     self.pool = pool or get_default_manager()
     self.allowed_methods = allowed_methods
     self.strip_script_name = strip_script_name
コード例 #3
0
ファイル: resource.py プロジェクト: tilgovi/restkit
    def __init__(self, uri, **client_opts):
        """Constructor for a `Resource` object.

        Resource represent an HTTP resource.

        :param uri: str, full uri to the server.
        :param client_opts: `restkit.client.HttpRequest` Options
        """
        client_opts = client_opts or {} 

        self.initial = dict(
            uri = uri,
            client_opts = client_opts.copy()
        )

        # set default response_class
        if self.response_class is not None and \
                not 'response_class' in client_opts:
            client_opts['response_class'] = self.response_class

        # set default pool if needed
        if not 'pool_instance' in client_opts and self.keepalive:
            client_opts['connection_manager'] = get_default_manager()

        self.filters = client_opts.get('filters') or []
        if self.basic_auth_url:
            # detect credentials from url
            u = urlparse.urlparse(uri)
            if u.username:
                password = u.password or ""
                
                # add filters
                filters = copy(self.filters)                
                filters.append(BasicAuth(u.username, password))
                client_opts['filters'] = filters
                
                # update uri
                uri = urlparse.urlunparse((u.scheme, u.netloc.split("@")[-1],
                    u.path, u.params, u.query, u.fragment))
                
        self.uri = uri
        self.client_opts = client_opts
コード例 #4
0
    def __init__(self, uri, **client_opts):
        """Constructor for a `Resource` object.

        Resource represent an HTTP resource.

        :param uri: str, full uri to the server.
        :param client_opts: `restkit.client.HttpRequest` Options
        """
        client_opts = client_opts or {} 

        self.initial = dict(
            uri = uri,
            client_opts = client_opts.copy()
        )

        # set default response_class
        if self.response_class is not None and \
                not 'response_class' in client_opts:
            client_opts['response_class'] = self.response_class

        # set default pool if needed
        if not 'pool_instance' in client_opts and self.keepalive:
            client_opts['connection_manager'] = get_default_manager()

        self.filters = client_opts.get('filters') or []
        self.uri = uri
        if self.basic_auth_url:
            # detect credentials from url
            u = urlparse.urlparse(uri)
            if u.username:
                password = u.password or ""
                
                # add filters
                filters = copy(self.filters)                
                filters.append(BasicAuth(u.username, password))
                client_opts['filters'] = filters
                
                # update uri
                self.uri = urlparse.urlunparse((u.scheme, u.netloc.split("@")[-1],
                    u.path, u.params, u.query, u.fragment))

        self.client_opts = client_opts
コード例 #5
0
 def __init__(self, pool=None, allowed_methods=ALLOWED_METHODS,
         strip_script_name=True, **kwargs):
     self.pool = pool or get_default_manager()
     self.allowed_methods = allowed_methods
     self.strip_script_name = strip_script_name