You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
900 B

import json
import urllib.parse
class UrlParamsBuilder(object):
def __init__(self):
self.param_map = dict()
self.post_map = dict()
self.post_list = list()
def put_url(self, name, value):
if value is not None:
if isinstance(value, (list, dict)):
self.param_map[name] = value
else:
self.param_map[name] = str(value)
def put_post(self, name, value):
if value is not None:
if isinstance(value, (list, dict)):
self.post_map[name] = value
else:
self.post_map[name] = str(value)
def build_url(self):
if len(self.param_map) == 0:
return ""
encoded_param = urllib.parse.urlencode(self.param_map)
return "?" + encoded_param
def build_url_to_json(self):
return json.dumps(self.param_map)