tree 69fe2f9db6bc3041164b7887ee3602b4ef5b33b1
parent 32ca38afffa7cd91a4bd6be19b415e93cc89d224
author Ed Tanous <edtanous@google.com> 1647278167 -0700
committer Ed Tanous <ed@tanous.net> 1652801537 +0000

Handle HEAD and Allow headers per the spec

The Redfish specification calls out that the Allow header should be
returned for all resources to give a client an indication of what
actions are allowed on that resource.  The router internally has all
this data, so this patchset allows the router to construct an allow
header value, as well as return early on a HEAD request.

This was reverted once here:
https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/53637

Due to a redfish validator failure.  With the previous patches
workaround, this error has now been resolved.

Tested:
Called curl with various parameters and observed the Allow header
curl -vvvv --insecure -X <VERB> --user root:0penBmc https://<bmc>/url

HEAD /redfish/v1/SessionService/Sessions returned Allow: GET, POST
HEAD /redfish/v1 returned Allow: GET
HEAD /redfish/v1/SessionService returned Allow: GET, PATCH

POST /redfish/v1 returned Allow: GET (method not allowed)

GET /redfish/v1 returned Allow: GET
GET /redfish/v1/SessionService returned Allow: GET, PATCH

Redfish-Protocol-Validator now reports more tests passing.
Prior to this patch:
Pass: 255, Warning: 0, Fail: 27, Not tested: 45

After this patch:
Pass: 262, Warning: 0, Fail: 21, Not tested: 43

Diff: 7 more tests passing

All tests under RESP_HEADERS_ALLOW_METHOD_NOT_ALLOWED and
RESP_HEADERS_ALLOW_GET_OR_HEAD are now passing

Included unit tests passing.

Redfish service validator is now passing.

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