Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions formation/for_requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,12 +138,14 @@ def text_response(ctx):
return res.text, res.status_code, res.headers


def build_sender(middleware=[], base_uri=None, default_response_as=None):
def build_sender(middleware=None, base_uri=None, default_response_as=None):
middleware = middleware or []
wrapped = wrap(requests_adapter, middleware=middleware)

def sender(method, url, session_context={}, params={}, response_as=None, **kwargs):
def sender(method, url, session_context=None, params=None, response_as=None, **kwargs):
session_context = session_context or {}
params = params if isinstance(params, dict) else {} if not params else params.to_dict()
resolved_response_as = response_as or default_response_as or _raw_response
params = params if isinstance(params, dict) else params.to_dict()
(url, params) = apply_params(url, params)
req = FormationHttpRequest(
url=urljoin(base_uri, url), method=method, params=params, **kwargs
Expand Down Expand Up @@ -172,7 +174,8 @@ def delete(self, path, **kwargs):
return self.send("delete", path, **kwargs)


def build(middleware=[], base_uri=None, response_as=None):
def build(middleware=None, base_uri=None, response_as=None):
middleware = middleware or []
return Sender(
build_sender(
middleware=middleware, base_uri=base_uri, default_response_as=response_as
Expand Down
3 changes: 2 additions & 1 deletion formation/formation.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
_REQ_DURATION = "req.duration_us"


def wrap(call, middleware=[]):
def wrap(call, middleware=None):
middleware = middleware or []
return reduce(
lambda acc, m: lambda ctx: m(ctx, acc),
reversed(middleware),
Expand Down
3 changes: 2 additions & 1 deletion formation/middleware/breaker.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@ def trigger_breaker_middleware(ctx, call):


def circuit_breaker(
logger, name, fail_max=5, reset_timeout=60, state_storage=None, exclude=[]
logger, name, fail_max=5, reset_timeout=60, state_storage=None, exclude=None
):
exclude = exclude or []
breaker = pybreaker.CircuitBreaker(
name=name,
listeners=[breaker_logger(logger)],
Expand Down