Source code for swh.indexer.storage.api.client
# Copyright (C) 2015-2018 The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information
from swh.core.api import RPCClient
from swh.indexer.storage.exc import (
DuplicateId,
IndexerStorageAPIError,
IndexerStorageArgumentException,
)
from ..interface import IndexerStorageInterface
from .serializers import DECODERS, ENCODERS
[docs]
class RemoteStorage(RPCClient):
"""Proxy to a remote storage API"""
backend_class = IndexerStorageInterface
api_exception = IndexerStorageAPIError
reraise_exceptions = [IndexerStorageArgumentException, DuplicateId]
extra_type_decoders = DECODERS
extra_type_encoders = ENCODERS