···2424 format!(
2525 r#"{}
26262727-This is a PLC[1] mirror running Allegedly[2] in mirror mode. Allegedly synchronizes and proxies to a downstream PLC reference server instance[3] (why?[4]).
2727+This is a PLC[1] mirror running Allegedly in mirror mode. Mirror mode wraps and
2828+synchronizes a local PLC reference server instance[2] (why?[3]).
282929303031Configured upstream:
···34353536Available APIs:
36373737- - All PLC GET requests [5].
3838- - Rejects POSTs. This is a mirror.
3838+ - GET /_health Health and version info
3939+4040+ - GET /* Proxies to wrapped server; see PLC API docs:
4141+ https://web.plc.directory/api/redoc
4242+4343+ - POST /* Always rejected. This is a mirror.
4444+4545+4646+ tip: try `GET /{{did}}` to resolve an identity
4747+4848+4949+Allegedly is a suit of open-source CLI tools for working with PLC logs:
39504040- try `GET /{{did}}` to resolve an identity
5151+ https://tangled.org/@microcosm.blue/Allegedly
415242534354[1] https://web.plc.directory
4444-[2] https://tangled.org/@microcosm.blue/Allegedly
4545-[3] https://github.com/did-method-plc/did-method-plc
4646-[4] https://updates.microcosm.blue/3lz7nwvh4zc2u
4747-[5] https://web.plc.directory/api/redoc
4848-5555+[2] https://github.com/did-method-plc/did-method-plc
5656+[3] https://updates.microcosm.blue/3lz7nwvh4zc2u
4957"#,
5058 logo("mirror")
5159 )
6060+}
6161+6262+#[handler]
6363+fn favicon() -> impl IntoResponse {
6464+ include_bytes!("../favicon.ico").with_content_type("image/x-icon")
5265}
53665467fn failed_to_reach_wrapped() -> String {
···204217205218 let app = Route::new()
206219 .at("/", get(hello))
220220+ .at("/favicon.ico", get(favicon))
207221 .at("/_health", get(health))
208222 .at("/:any", get(proxy).post(nope))
209223 .with(AddData::new(state))
···273287 )
274288 }
275289276276- let app = Route::new().at("/", get(oop_plz_be_secure)).with(Tracing);
290290+ let app = Route::new()
291291+ .at("/", get(oop_plz_be_secure))
292292+ .at("/favicon.ico", get(favicon))
293293+ .with(Tracing);
277294 Server::new(TcpListener::bind("0.0.0.0:80"))
278295 .name("allegedly (mirror:80 helper)")
279296 .run(app)