tree 6c5301b9bc8d4b4351f3fa0010b716250bf9796e
parent ae9031f0e8595ee88945ac565d10be0c3832ed01
author Ed Tanous <edtanous@google.com> 1649878497 -0700
committer Ed Tanous <ed@tanous.net> 1667419505 +0000

Implement If-None-Match support for caching client

This commit implements support for the If-None-Match header on http
requests.  This can be combined with the
89f180089bce9cc431d0b1053410f262f157b987 commit for producing ETag to
allow a client to have a highly efficient cache, while still pulling
data from the BMC.

This behavior is documented several places, in W3C produced docs[1], as
well as section 7.1 of the Redfish specification:
'''
A service only returns the resource if the current ETag of that resource
does not match the ETag sent in this header.
If the ETag in this header matches the resource's current ETag, the GET
operation returns the HTTP 304 status code.
'''

Inside bmcweb, this behavior is accomplished in a relatively naive way,
by creating the complete request, then doing a direct ETag comparison
between the generated data and the request header.  In the event the two
match, 304 not-modified is returned, in-line with both the Redfish
specification and the HTTP RFC.

[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match

Tested (on previous rebase):
First, request ServiceRoot
curl --insecure -vvvv --user root:0penBmc https://192.168.7.2/redfish/v1

This returns a header similar to:
< ETag: "ECE52663"

Taking that ETag, and putting it into an If-None-Match header:
```
curl --insecure -vvvv -H "If-None-Match: \"ECE52663\"" \
--user root:0penBmc https://192.168.7.2/redfish/v1
```

Returns:
< HTTP/1.1 304 Not Modified
...
< Content-Length: 0

Showing that the payload was not repeated, and the response size was
much.... much smaller on the wire.  Performance was not measured as part
of this testing, but even if it has no performance impact (which is
unlikely), this change is still worthwhile to implement more of the
Redfish specification.

Redfish-service-validator passes.
Redfish-protocol-validator passes 1 more atom in comparison to previous.

Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I1e7d41738884593bf333e4b9b53d318838808008
