47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
from .request_handler import _HttpRequestHandler
|
|
|
|
|
|
class RequestBuilder:
|
|
"""
|
|
A Builder for HTTP Request class
|
|
|
|
Attributes:
|
|
__url (str): URL at which the request is made
|
|
__headers (dict):
|
|
__body (dict):
|
|
__params (dict): Query params
|
|
__method (str): HTTP method (GET, POST, ...)
|
|
"""
|
|
|
|
def __init__(self):
|
|
self.__url = ""
|
|
self.__headers = {}
|
|
self.__body = None
|
|
self.__params = None
|
|
self.__method = "GET"
|
|
|
|
def set_url(self, url):
|
|
self.__url = url
|
|
return self
|
|
|
|
def set_headers(self, headers):
|
|
self.__headers = headers
|
|
return self
|
|
|
|
def set_body(self, body):
|
|
self.__body = body
|
|
return self
|
|
|
|
def set_params(self, params):
|
|
self.__params = params
|
|
return self
|
|
|
|
def set_method(self, method):
|
|
self.__method = method
|
|
return self
|
|
|
|
def build(self):
|
|
"""Based on the set parameters it returns a Request Handler object"""
|
|
return _HttpRequestHandler(url=self.__url, method=self.__method, body=self.__body,
|
|
params=self.__params, headers=self.__headers)
|