@request_method_decorator
def _update(resource, data=None, query_args={}, *args, **kwargs):
    request = HttpRequest(resource._links['update']['href'], method='PUT',
                          query_args=query_args)

    if data is None:
        data = {}

    kwargs.update(data)

    for name, value in _preprocess_fields(kwargs):
        request.add_field(name, value)

    return request


# This dictionary is a mapping of special keys in a resources links,
# to a name and method used for generating a request for that link.
# This is used to special case the REST operation links. Any link
# included in this dictionary will be generated separately, and links
# with a None for the method will be ignored.
Generate a PUT request on a resource.
dataset/ETHPy150Open reviewboard/rbtools/rbtools/api/resource.py/_update