Example #1
0
def request(url, method, data=None, serializers=None):
    '''Simple function for making a POST request and handling different status
       codes.

       @param url : str
           the url to hit
       @param data : optional, dict
           the data to include
       @param serializers : optional, dict
           a mapping of serializer functions for any fields that need so'''
    
    # serialize any fields that need so
    if data and serializers is not None:
        data = _serializers.serialize(data, **serializers)

    method_fn = getattr(requests, method)
    response = method_fn(url, data=data)

    if 200 == response.status_code:
        data = response.content

        if data and serializers is not None:
            data = json.loads(data)
            data = _serializers.serialize(data, **serializers)

        return data
    else:
        return None
Example #2
0
        def wrapper(*args, **kwargs):
            data = dict(web.input())

            data = serializers.serialize(data, **_serializers)

            kwargs.update(data)
            data = func(*args, **kwargs)

            if data is not None:
                data = serializers.serialize(data, **_serializers)
                return json.dumps(data)

            web.header('Content-Type', 'application/json')