pub use rocket_contrib::templates::Template;
pub use rocket::State;
-pub use rocket::http::{Status,RawStr};
+pub use rocket::http::{Status,RawStr,ContentType};
pub use rocket::request::{FromParam,FromRequest,FromFormValue,LenientForm};
pub use rocket::response::NamedFile;
+pub use rocket::response;
pub type E = anyhow::Error;
}
}
+#[get("/updates")]
+fn updates() -> response::Content<response::Stream<&'static [u8]>> {
+ let ch = response::Stream::chunked(b"42".as_ref(), 1);
+ let ct = ContentType::parse_flexible("text/event-stream; charset=utf-8").
+ unwrap();
+ response::content::Content(ct,ch)
+}
+
#[get("/<leaf>")]
fn resource(leaf : CheckedResourceLeaf) -> io::Result<NamedFile> {
let template_dir = "templates"; // xxx
.mount("/", routes![
index,
resource,
+ updates,
])
.launch();
}