ores.storage.api

Table of Contents

1. Summary

ores.storage.api is the part a consumer is allowed to link. It holds the bucket and key path and URL helpers that turn a bucket, a key and an endpoint into an address, and the modelled operation surface that both interfaces are generated from. It holds no bucket name of its own.

2. Entry points

  • include/ores.storage.api/net/storage_paths.hpp — bucket and key to path and URL.
  • include/ores.storage.api/messaging/ — the generated protocol messages.

3. Inputs

  • A bucket name, an object key and an endpoint, from the caller.
  • The generated protocol messages, once the operation surface is modelled.

4. Outputs

  • The /api/v1/storage/{bucket}/{key} path, and its absolute URL against a base.

5. Dependencies

  • ores.utility for the generated wire codecs of the operation messages. A consumer that links the part takes on no socket and no archive library.

6. See also

target_link_libraries(${lib_target_name}
    PUBLIC
        ores.utility.lib)
target_link_libraries(${tests_target_name}
    PRIVATE
        ${lib_target_name}
        ores.utility.lib
        ores.testing.lib
        ores.logging.lib
        Catch2::Catch2
        faker-cxx::faker-cxx
        ores.openssl_cleanup
        Threads::Threads)

Emacs 29.3 (Org mode 9.6.15)