Skip to content

drconopoima/s3-file-server-hyper-openapi-3

Repository files navigation

Rust API for harden_file_transfer_rs

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

Overview

This server was generated by the [openapi-generator] (https://openapi-generator.tech) project. By using the OpenAPI-Spec from a remote server, you can easily generate a server stub.

To see how to make this your own, look here:

README

  • API version: 0.1.0
  • Build date: 2022-06-26T22:35:43.556850+02:00[Europe/Madrid]

This autogenerated project defines an API crate harden_file_transfer_rs which contains:

  • An Api trait defining the API in Rust.
  • Data types representing the underlying data model.
  • A router which accepts HTTP requests and invokes the appropriate Api method for each operation.

It also contains an example server which make use of harden_file_transfer_rs:

  • The example server starts up a web server using the harden_file_transfer_rs router, and supplies a trivial implementation of Api which returns failure for every operation.

You can use the example server as a basis for your own code. See below for more detail on implementing a server.

Examples

Run examples with:

cargo run --example <example-name>

To pass in arguments to the examples, put them after --, for example:

cargo run --example client -- --help

Running the example server

To run the server, follow these simple steps:

cargo run --example server

Running the example client

To run a client, follow one of the following simple steps:

cargo run --example client CreateShareURL
cargo run --example client DeleteFileById
cargo run --example client DownloadFile
cargo run --example client GetFileById
cargo run --example client ListFiles
cargo run --example client RecoverFile
cargo run --example client UploadFile

HTTPS

The examples can be run in HTTPS mode by passing in the flag --https, for example:

cargo run --example server -- --https

This will use the keys/certificates from the examples directory. Note that the server chain is signed with CN=localhost.

Using the generated library

The generated library has a few optional features that can be activated through Cargo.

  • server
    • This defaults to enabled and creates the basic skeleton of a server implementation based on hyper
    • To create the server stack you'll need to provide an implementation of the API trait to provide the server function.
  • conversions
    • This defaults to disabled and creates extra derives on models to allow "transmogrification" between objects of structurally similar types.

See https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section for how to use features in your Cargo.toml.

Documentation for API Endpoints

All URIs are relative to http://localhost:8000/v1

Method HTTP request Description
createFile POST /files Create a file object metadata
createShareURL GET /files/{fileId}/share Generate a shareable URL for a file object
deleteFileById DELETE /files/{fileId} Delete a file object content and metadata properties
downloadFile GET /files/{fileId}/download Download a file
getFileById GET /files/{fileId} Retrieve specific file object metadata properties
listFiles GET /files List all files
recoverFile POST /files/{fileId}/recover Recovers a deleted file object content and metadata properties
uploadFile POST /files/{fileId}/upload Upload a file

Documentation For Models

Documentation For Authorization

Endpoints do not require authorization.

Author

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages