Things we did:

  • Request API
    • Finished Implementing all readonly attributes.
    • Started working on Constructor.
  • Headers API
    • Realized that the hyper::header::Headers set_raw() and get_raw() act as though there is only one entry for a given unique header name.
    • Spent much of the day understanding the consequences of this (do we re-write our Headers append() method or re-write hyper::header::Headers?), piecing together instructions from various specs, and planning the next steps –> Decided to go with the current hyper::header::Headers implementation.
    • Currently re-working the append() method and other Header API functions.

Things we learned:

  • if let is handy if you want to match for only certain cases. For example, following code snippets are the same.
if let RequestOrUSVString::Request(req) = input {
    // Do stuff
}

match input {
    RequestOrUSVString::Request(req) => // Do stuff,
    RequestOrUSVString::USVString(_) => {},
};
  • Understood hyper::header::Headers better.

TODO:

  • Headers:
    • Refine has
    • Refine get
    • Work on delete, set, and iterable
    • introspective methods, such as get and has
  • Request:
    • Figure out what I can use instead of clone()
    • Continue with Constructor