commit
5b7fe9f155
@ -0,0 +1,7 @@
|
|||||||
|
# Copied from Rocket's .travis.yml
|
||||||
|
language: rust
|
||||||
|
sudo: required # so we get a VM with higher specs
|
||||||
|
dist: trusty # so we get a VM with higher specs
|
||||||
|
cache: cargo
|
||||||
|
rust:
|
||||||
|
- nightly
|
File diff suppressed because it is too large
Load Diff
@ -1 +1 @@
|
|||||||
nightly-2018-07-18
|
nightly-2018-08-24
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
use rocket::Route;
|
||||||
|
use rocket_contrib::Json;
|
||||||
|
|
||||||
|
use db::DbConn;
|
||||||
|
use api::JsonResult;
|
||||||
|
use auth::Headers;
|
||||||
|
|
||||||
|
pub fn routes() -> Vec<Route> {
|
||||||
|
routes![negotiate]
|
||||||
|
}
|
||||||
|
|
||||||
|
#[post("/hub/negotiate")]
|
||||||
|
fn negotiate(_headers: Headers, _conn: DbConn) -> JsonResult {
|
||||||
|
use data_encoding::BASE64URL;
|
||||||
|
use crypto;
|
||||||
|
|
||||||
|
// Store this in db?
|
||||||
|
let conn_id = BASE64URL.encode(&crypto::get_random(vec![0u8; 16]));
|
||||||
|
|
||||||
|
// TODO: Implement transports
|
||||||
|
// Rocket WS support: https://github.com/SergioBenitez/Rocket/issues/90
|
||||||
|
// Rocket SSE support: https://github.com/SergioBenitez/Rocket/issues/33
|
||||||
|
Ok(Json(json!({
|
||||||
|
"connectionId": conn_id,
|
||||||
|
"availableTransports":[
|
||||||
|
// {"transport":"WebSockets", "transferFormats":["Text","Binary"]},
|
||||||
|
// {"transport":"ServerSentEvents", "transferFormats":["Text"]},
|
||||||
|
// {"transport":"LongPolling", "transferFormats":["Text","Binary"]}
|
||||||
|
]
|
||||||
|
})))
|
||||||
|
}
|
Loading…
Reference in new issue