Adds a new ClientSessionModel class to save all information about a running streaming session. We use a hashmap to map a client id to an instance of this new model class
Parses the headers from the ServiceAccessInformation response of the AF (M5)
Starts a timer that re-requests the ServiceAccessInformation based on max-age in the cache-control header
Compares the current values of the etag and the last-modified headers to the previous ones. If nothing changed the ServiceAccessInformation is not updated and the timer is reset according to max-age
Sends previous etag and last-modified header values as If-None-Match and If-Modified-Since request headers.
This needs more testing once our Linode instance is back. For the implementation I did a quick check with a local server:
ClientSessionModel
class to save all information about a running streaming session. We use a hashmap to map a client id to an instance of this new model classmax-age
in thecache-control
headeretag
and thelast-modified
headers to the previous ones. If nothing changed the ServiceAccessInformation is not updated and the timer is reset according tomax-age
etag
andlast-modified
header values asIf-None-Match
andIf-Modified-Since
request headers.This needs more testing once our Linode instance is back. For the implementation I did a quick check with a local server:
Response headers:
Request headers:
This addresses #30