def get(self, api, params, doseq=0): if not (api in self.api_info): raise Exception("no such api") api_info = self.api_info[api] r = self.prepare_request(api_info, params, doseq) SignerV4.sign(r, self.service_info.credentials) url = r.build(doseq) resp = self.session.get(url, headers=r.headers, timeout=(self.service_info.connection_timeout, self.service_info.socket_timeout)) if resp.status_code == 200: return resp.text else: return ''
def post(self, api, params, form): if not (api in self.api_info): raise Exception("no such api") api_info = self.api_info[api] r = self.prepare_request(api_info, params) r.headers['Content-Type'] = 'application/x-www-form-urlencoded' r.form = self.merge(api_info.form, form) SignerV4.sign(r, self.service_info.credentials) url = r.build() resp = self.session.post(url, headers=r.headers, data=r.form, timeout=(self.service_info.connection_timeout, self.service_info.socket_timeout)) if resp.status_code == 200: return resp.text else: return ''
def json(self, api, params, body): if not (api in self.api_info): raise Exception("no such api") api_info = self.api_info[api] r = self.prepare_request(api_info, params) r.headers['Content-Type'] = 'application/json' r.body = body SignerV4.sign(r, self.service_info.credentials) url = r.build() resp = self.session.post(url, headers=r.headers, data=r.body, timeout=(self.service_info.connection_timeout, self.service_info.socket_timeout)) if resp.status_code == 200: return json.dumps(resp.json()) else: return ''
def get_sign_url(self, api, params): if not (api in self.api_info): raise Exception("no such api") api_info = self.api_info[api] mquery = self.merge(api_info.query, params) r = Request() r.set_shema(self.service_info.scheme) r.set_method(api_info.method) r.set_path(api_info.path) r.set_query(mquery) return SignerV4.sign_url(r, self.service_info.credentials)