Example #1
0
    def request(self,
                rtype,
                rmethod,
                rmethod_params=None,
                api_params=None,
                post_params=None,
                file_params=None,
                parser=default_parser,
                requester=default_requester):
        """
        Makes request.
        """
        log.debug('Making request')

        rmethod_params = rmethod_params or []
        api_params = api_params or {}
        post_params = post_params or {}
        file_params = file_params or {}

        # sanitize data
        rtype = force_text(rtype)
        rmethod = force_text(rmethod)
        post_params = dictmap(force_bytes, post_params)
        api_params = dictmap(force_text, api_params)

        url = self.construct_url(rtype, rmethod, *rmethod_params, **api_params)
        headers = self.get_headers(url, **post_params)

        response = requester.make_request(url, post_params, headers,
                                          file_params)

        if parser is None:
            return response

        return parser.parse(response)
Example #2
0
    def request(self, rtype, rmethod=None,
                api_params=None, post_params=None, file_params=None,
                parser=default_parser, requester=default_requester):
        """
        Makes request.
        """
        log.debug('Making request')

        api_params = api_params or {}
        post_params = post_params or {}
        file_params = file_params or {}

        # sanitize data
        rtype = force_text(rtype)
        rmethod = rmethod and force_text(rmethod)
        post_params = dictmap(force_bytes, post_params)
        api_params = dictmap(force_text, api_params)

        url = self.construct_url(rtype, rmethod, **api_params)
        headers = self.get_headers(url, **post_params)

        response = requester.make_request(
            url, post_params, headers, file_params)

        if parser is None:
            return response

        return parser.parse(response)
    def request(self,
                rtype,
                rmethod=None,
                named_params=None,
                api_params=None,
                post_params=None,
                file_params=None):
        log.debug('Making request')

        post_params = sort_and_remove_none_values(post_params)

        file_params = file_params or {}

        rtype = force_text(rtype)
        rmethod = rmethod and force_text(rmethod)
        post_params = dictmap(force_bytes, post_params)

        url = self.construct_url(rtype=rtype,
                                 rmethod=rmethod,
                                 api_params=api_params,
                                 named_params=named_params)
        headers = self.headers(url, **post_params)

        response = self.requester.make_request(url, post_params, headers,
                                               file_params)

        if self.parser is None:
            return response

        return self.parser.parse_response(response)
Example #4
0
    def request(self,
                rtype,
                rmethod=None,
                named_params=None,
                api_params=None,
                post_params=None,
                file_params=None):
        log.debug('Making request')

        named_params = named_params or {}
        api_params = api_params or []
        post_params = OrderedDict(
            {k: v
             for k, v in sorted(post_params.items())
             if v} if post_params else {})

        file_params = file_params or {}

        rtype = force_text(rtype)
        rmethod = rmethod and force_text(rmethod)
        post_params = dictmap(force_bytes, post_params)
        named_params = dictmap(force_text, named_params)

        url = self.construct_url(rtype=rtype,
                                 rmethod=rmethod,
                                 api_params=api_params,
                                 named_params=named_params)
        headers = self.headers(url, **post_params)

        response = self.requester.make_request(url, post_params, headers,
                                               file_params)

        if self.parser is None:
            return response

        return self.parser.parse(response)
    def construct_url(self,
                      rtype,
                      rmethod=None,
                      api_params=None,
                      named_params=None):
        """
        Constructs request url.
        """
        named_params = dictmap(force_text,
                               validate_named_parameters(named_params))
        api_params = validate_api_parameters(api_params)

        path = self.path(rtype,
                         api_params=api_params,
                         rmethod=rmethod,
                         named_params=named_params)

        urlparts = (PROTOCOL, DOMAIN, path, '', '', '')
        return str(urlunparse(urlparts))
Example #6
0
 def _get_files(self, files):
     return dictmap(lambda x: (x.name, x, mimetype(x.name)), files)
Example #7
0
 def _get_files(self, files):
     return dictmap(lambda x: (x.name, x, mimetype(x.name)), files)