"""Validation for request_context.""" from owsrequest import error_response from ows_product_physical.constant import header def validate_request_context(request_context, profile_type=header.DISTRIBUTION_PROFILE_TYPE, role=None): """Check that request context is valid. Args: request_context (owsrequest.RequestContext): request context object profile_type (str): profile type to validate role (str): role to validate Returns (response.Response | True): return forbidden oto response if headers invalid, otherwise True """ if any([ request_context.context_type != 'profile', request_context.profile_type != profile_type, role and role not in request_context.roles, ]): return error_response.create_error_forbidden() return True