Skip to content

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