コード例 #1
0
ファイル: views.py プロジェクト: robx/adhocracy3.mercator
def validate_body_or_querystring(body, schema: MappingSchema,
                                 context: IResource, request: Request):
    """Validate the querystring if this is a GET request, the body otherwise.

    This allows using just a single schema for all kinds of requests.
    """
    qs = request.GET
    if isinstance(schema, GETPoolRequestSchema):
        try:
            schema = add_get_pool_request_extra_fields(qs, schema, context,
                                                       request.registry)
        except Invalid as err:  # pragma: no cover
            _add_colander_invalid_error_to_request(err, request,
                                                   location='querystring')
    if request.method.upper() == 'GET':
        _validate_schema(qs, schema, request,
                         location='querystring')
    else:
        _validate_schema(body, schema, request, location='body')
コード例 #2
0
 def call_fut(self, *args):
     from adhocracy_core.rest.schemas import add_get_pool_request_extra_fields
     return add_get_pool_request_extra_fields(*args)