Responsibilities:
- make http req
- GET
- MUST SUPPORT QUERY PARAMS
- POST
- METHOD POST WITH DATA BODY, MUST SUPPORT QUERY PARAMS
- PATCH
- METHOD PATCH WITH DATA BODY
- DELETE
- METHOD DELETE, NO BODY
- GET
- returns promise with response [status, header, body] to caller
- know enough to authenticate
- create default headers
- create interface: addDefaultHeader
- call addDefaultHeader in constructor
- How to handle multiple requests with same instance
- Make new request object on every request call
- Pass in default headers to new req obj
- Port library to other applications