示例#1
0
def _validate_request_headers(handler):
    """Validates request headers against a JSON schema.

    """
    # Map request to schema.
    schema = get_schema('headers', handler.request)

    # Null case - escape.
    if schema is None:
        return

    # Validate request headers.
    _validate(handler, dict(handler.request.headers), schema)
示例#2
0
def _validate_request_params(handler):
    """Validates request parameters against a JSON schema.

    """
    # Map request to schema.
    schema = get_schema('params', handler.request)

    # Null case.
    if schema is None:
        if handler.request.query_arguments:
            raise exceptions.SecurityError("Unexpected request url parameters.")

    # Validate request parameters.
    else:
        _validate(handler, handler.request.query_arguments, schema)
示例#3
0
def _validate_request_body(handler):
    """Validates request body against a JSON schema.

    """
    # Map request to schema.
    schema = get_schema('body', handler.request)

    # Null case.
    if schema is None:
        if handler.request.body:
            raise exceptions.SecurityError("Unexpected request body.")

    # Validate request data.
    else:
        # ... decode request data.
        data = json.loads(handler.request.body)

        # ... validate request data against schema.
        _validate(handler, data, schema)

        # ... append valid data to request.
        handler.request.data = data