Skip to content

worldline/ProSA-Hyper

Repository files navigation

ProSA Hyper

github crates-io docs-rs build status dependency status

ProSA Hyper processor for HTTP client/server build on Hyper, a Tokio implementation of HTTP.

Use

To include it in your project, add the crate to your dependencies:

cargo add prosa-hyper

To build your ProSA application afterward, use cargo-prosa or build manually.

Configuration

Server

The server configuration is straightforward. You only need to set a ListenerSetting to configure.

http_server:
  listener:
    url: https://0.0.0.0:443
    ssl:
      store:
        path: "cert_path/"
      cert: cert.pem
      key: key.pem
      passphrase: MySuperPassphrase

If you have some slow services, you can set the service_timeout parameter (800 ms by default).

Client

The client exposes a service if it is available. For backends, you need to use TargetSetting. All backends will be load-balanced with ProSA's internal service load balancing.

http_client:
  service_name: "service_name"
  min_socket: 1
  max_socket: 20
  backends:
    - url: http://backend01:8080

If you have a slow backend response, you can set the http_timeout parameter (5 seconds by default).

Examples

Server

To get help on the processor command-line arguments, run:

cargo run --example server -- -h

If you run it without any parameters, it'll start an HTTPS server using the configuration in examples/config.yml:

cargo run --example server

The server provides the following targets:

  • / returns the ProSA name
  • /test contacts an internal service named SRV_TEST (requires starting the stub processor)
  • metrics exposes Prometheus metrics as configured

Client

To get help on the processor command-line arguments, run:

cargo run --example client -- -h

If you run it without any parameters, it will start an HTTPS client connecting to the HTTP server example using the same configuration in examples/config.yml:

cargo run --example client

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages