'Handle HTTP POST request.'

@public
@timing_stats()
def POST(self, req):

    (drive, part, account) = split_and_validate_path(req, 3)
    req_timestamp = valid_timestamp(req)
    if (self.mount_check and (not check_mount(self.root, drive))):
        return HTTPInsufficientStorage(drive=drive, request=req)
    broker = self._get_account_broker(drive, part, account)
    if broker.is_deleted():
        return self._deleted_response(broker, req, HTTPNotFound)
    metadata = {}
    metadata.update(((key, (value, req_timestamp.internal)) for (key, value) in req.headers.items() if is_sys_or_user_meta('account', key)))
    if metadata:
        broker.update_metadata(metadata, validate_metadata=True)
    return HTTPNoContent(request=req)
