Middleware
EnsureQueryParamIntegrity (BaseHTTPMiddleware)
¶
Ensure all query parameters are followed by an equal sign (=
)
check_url(url_query)
staticmethod
¶
Check parsed URL query part for parameters not followed by =
Source code in optimade/server/middleware.py
@staticmethod
def check_url(url_query: str):
"""Check parsed URL query part for parameters not followed by `=`"""
queries_amp = set(url_query.split("&"))
queries = set()
for query in queries_amp:
queries.update(set(query.split(";")))
for query in queries:
if "=" not in query and query != "":
raise BadRequest(
detail="A query parameter without an equal sign (=) is not supported by this server"
)
return queries # Useful for testing