1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
//! A Rust crate for building faster [V2.16 Open Service Brokers](https://github.com/openservicebrokerapi/servicebroker/). //! //! ## Usage: //! //! See in [/examples/osb.rs](/examples/osb.rs) for an example of how to use the crate. //! //! ```rust //! use actix_web::middleware::Logger; //! use actix_web::{guard, web, App, HttpResponse, HttpServer}; //! use brokerapi::{binding, catalog, polling, service}; //! //! #[actix_web::main] //! async fn main() -> std::io::Result<()> { //! HttpServer::new(|| { //! App::new() //! .wrap(Logger::new(LOG_DEFAULT)) //! .data(catalog::CatalogProvider::new(catalog::build_catalog())) //! .service( //! web::scope("/v2") //! .route("/catalog", web::get().to(catalog::get_catalog)) //! .service( //! web::resource("/service_instances/{instance_id}") //! .route(web::put().to(service::put_service_instance)) //! .route(web::get().to(service::get_service_instance)) //! .route(web::patch().to(service::patch_service_instance)) //! .route(web::delete().to(service::delete_service_instance)) //! ) //! .service( //! web::resource("/service_instances/{instance_id}/service_bindings/{binding_id}") //! .route(web::put().to(binding::put_binding)) //! .route(web::get().to(binding::get_binding)) //! .route(web::delete().to(binding::delete_binding)) //! ) //! .route( //! "/service_instances/{instance_id}/last_operation", //! web::get().to(polling::get_service_instance_last_operation), //! ) //! .route( //! "/service_instances/{instance_id}/service_bindings/{binding_id}/last_operation", //! web::get().to(polling::get_service_binding_state), //! ), //! ) //! .default_service(web::route().to(|| HttpResponse::NotFound())) //! }) //! .bind("0.0.0.0:8080")? //! .run() //! .await //! } //! ``` pub mod binding; pub mod catalog; pub mod errors; pub mod polling; pub mod service;