Things we did:

  • Headers API
    • Submitted PR#3 for review.
    • Addressed some of the feedback.
  • Studied some basic Rust concepts which have been tripping us up
  • Jeena:
    • Attended Edward Tufte’s course on presenting data and information
    • Will be making up the hours this weekend

Things we learned:

  • Use Servo’s convenient dom::bindings::error::{Error, ErrorResult, Fallible} when needed
  • More about Strings and references
  • The following does the same thing, but the second one is shorter:
match self.header_list.borrow_mut().get_raw(&valid_name) {
    Some(v) => Ok(Some(ByteString::new(v[0].clone()))),
    None => Ok(None),
}

The following code takes advantage of map for Option types.

Ok(self.header_list.borrow().get_raw(&valid_name).map(|v| {
    ByteString::new(v[0].clone())
}))

TODO:

  • Headers:
    • File an issue against Fetch specification for special case where set-cookie is the header name.
  • Response:
    • If Headers is accepted, start working on Response.
  • Request:
    • Continue with constructor!