summaryrefslogtreecommitdiff
path: root/src/msg_util.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2019-03-19 12:18:05 -0400
committerGitHub <noreply@github.com>2019-03-19 12:18:05 -0400
commitfa3c35301aa44975776b96c85f200de8eb500c22 (patch)
tree76f8d5e6f42e1c306a40efd0b80dce18528952f4 /src/msg_util.rs
parentc7d81fa9ff495986675c05e52e13acc9ffc85372 (diff)
Rename //src/ to //cli/ (#1962)
To better distinguish the deno_core crate from the executable deno, which will now be called "the cli" internally.
Diffstat (limited to 'src/msg_util.rs')
-rw-r--r--src/msg_util.rs127
1 files changed, 0 insertions, 127 deletions
diff --git a/src/msg_util.rs b/src/msg_util.rs
deleted file mode 100644
index 71bcc19d9..000000000
--- a/src/msg_util.rs
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-// Helpers for serialization.
-use crate::errors;
-use crate::errors::DenoResult;
-use crate::msg;
-
-use flatbuffers;
-use http::header::HeaderName;
-use http::uri::Uri;
-use http::Method;
-use hyper::header::HeaderMap;
-use hyper::header::HeaderValue;
-use hyper::Body;
-use hyper::Request;
-use hyper::Response;
-use std::str::FromStr;
-
-type Headers = HeaderMap<HeaderValue>;
-
-pub fn serialize_key_value<'bldr>(
- builder: &mut flatbuffers::FlatBufferBuilder<'bldr>,
- key: &str,
- value: &str,
-) -> flatbuffers::WIPOffset<msg::KeyValue<'bldr>> {
- let key = builder.create_string(&key);
- let value = builder.create_string(&value);
- msg::KeyValue::create(
- builder,
- &msg::KeyValueArgs {
- key: Some(key),
- value: Some(value),
- },
- )
-}
-
-pub fn serialize_request_header<'bldr>(
- builder: &mut flatbuffers::FlatBufferBuilder<'bldr>,
- r: &Request<Body>,
-) -> flatbuffers::WIPOffset<msg::HttpHeader<'bldr>> {
- let method = builder.create_string(r.method().as_str());
- let url = builder.create_string(r.uri().to_string().as_ref());
-
- let mut fields = Vec::new();
- for (key, val) in r.headers().iter() {
- let kv = serialize_key_value(builder, key.as_ref(), val.to_str().unwrap());
- fields.push(kv);
- }
- let fields = builder.create_vector(fields.as_ref());
-
- msg::HttpHeader::create(
- builder,
- &msg::HttpHeaderArgs {
- is_request: true,
- method: Some(method),
- url: Some(url),
- fields: Some(fields),
- ..Default::default()
- },
- )
-}
-
-pub fn serialize_fields<'bldr>(
- builder: &mut flatbuffers::FlatBufferBuilder<'bldr>,
- headers: &Headers,
-) -> flatbuffers::WIPOffset<
- flatbuffers::Vector<
- 'bldr,
- flatbuffers::ForwardsUOffset<msg::KeyValue<'bldr>>,
- >,
-> {
- let mut fields = Vec::new();
- for (key, val) in headers.iter() {
- let kv = serialize_key_value(builder, key.as_ref(), val.to_str().unwrap());
- fields.push(kv);
- }
- builder.create_vector(fields.as_ref())
-}
-
-// Not to be confused with serialize_response which has nothing to do with HTTP.
-pub fn serialize_http_response<'bldr>(
- builder: &mut flatbuffers::FlatBufferBuilder<'bldr>,
- r: &Response<Body>,
-) -> flatbuffers::WIPOffset<msg::HttpHeader<'bldr>> {
- let status = r.status().as_u16();
- let fields = serialize_fields(builder, r.headers());
- msg::HttpHeader::create(
- builder,
- &msg::HttpHeaderArgs {
- is_request: false,
- status,
- fields: Some(fields),
- ..Default::default()
- },
- )
-}
-
-pub fn deserialize_request(
- header_msg: msg::HttpHeader<'_>,
- body: Body,
-) -> DenoResult<Request<Body>> {
- let mut r = Request::new(body);
-
- assert!(header_msg.is_request());
-
- let u = header_msg.url().unwrap();
- let u = Uri::from_str(u)
- .map_err(|e| errors::new(msg::ErrorKind::InvalidUri, e.to_string()))?;
- *r.uri_mut() = u;
-
- if let Some(method) = header_msg.method() {
- let method = Method::from_str(method).unwrap();
- *r.method_mut() = method;
- }
-
- if let Some(fields) = header_msg.fields() {
- let headers = r.headers_mut();
- for i in 0..fields.len() {
- let kv = fields.get(i);
- let key = kv.key().unwrap();
- let name = HeaderName::from_bytes(key.as_bytes()).unwrap();
- let value = kv.value().unwrap();
- let v = HeaderValue::from_str(value).unwrap();
- headers.insert(name, v);
- }
- }
- Ok(r)
-}