summaryrefslogtreecommitdiff
path: root/include/json_html_serializer.hpp
AgeCommit message (Collapse)AuthorFilesLines
2022-03-12Enable readability checksEd Tanous1-2/+7
clang-tidy readability checks are overall a good thing, and help us to write consistent and readable code, even if it doesn't change the result. All changes done by the robot. Tested: Code compiles, inspection only (changes made by robot) Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Iee4a0c74a11eef9f158f0044eae675ebc518b549
2022-02-15Enable readability-uppercase-literal-suffixEd Tanous1-3/+3
We only had a few violations of this; Fix them and enable the check. Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I159e774fd0169a91a092218ec8dc896ba9edebf4
2022-01-12enable cppcoreguidelines-pro-type-vararg checksEd Tanous1-4/+7
We only use varargs in some code we borrowed from nlohmann, so ignore that, and enable the check. Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Iab1305784e7532e2ee10c617fb59b75aba142ce6
2022-01-12Enable checks for pointer arithmeticEd Tanous1-0/+3
Quite a few places we've disobeyed this rule, so simply ignore them for now to avoid new issues popping up. Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I3e518a8e8742279afb3ad1a9dad54006ed109fb1
2022-01-12Enable init checkerEd Tanous1-2/+2
clang-tidy added cppcoreguidelines-init-variables as a check, which is something we already enforce to some extent, but getting CI to enforce it will help reviews move faster. Tested: Code compiles. Noop changes. Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I7e10950de617b1d3262265572b1703f2e60b69d0
2021-09-23Make code format the sameEd Tanous1-3/+2
The only difference between a clang-format-11 formatter and a clang-format-12 formatter seems to be this line, which seems to confuse people. https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/46932 already got pushed trying to "fix" this, only to be rejected by CI. It appears that the extra parens on the method name seems to confuse clang-format, which makes little sense. This is code we inherited from nlohmann and changed to support the html formatter, so while nlohmann might have had good reasons for it (weird compiler support maybe) we don't need it, so this patchset removes the parens and reformats. Tested: Code compiles. No functional changes. Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ide31e0be057d4b97da69203890ca6720e79887e5
2021-09-11fix clang formattingEd Tanous1-2/+3
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ie2a2583054ff4de3d00e52765059fed79fa7fb0c
2020-09-29Fix naming conventionsEd Tanous1-16/+16
Lots of code has been checked in that doesn't match the naming conventions. Lets fix that. Tested: Code compiles. Variable/function renames only. Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: I6bd107811d0b724f1fad990016113cdf035b604b
2020-09-28Fix the buildEd Tanous1-0/+5
In between the json patch being written, and the json patch being merged, nlohmann library added binary types: https://nlohmann.github.io/json/features/binary_values/ Which is non standard, but used for things like cbor. Add a switch to handle them. Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: I8599847a063a14c5f489e8347c2c440347d2544d
2020-09-24Improve JSON->HTML conversionEd Tanous1-0/+614
The existing JSON to html conversion is quite unfortunate, as it runs several very expensive regular expressions on an output to properly invoke the correct behavior, and to escape things like links. This patchset adjusts the behavior to directly dump the tree to HTML, skipping the json step entirely. Most of the code was pulled from the nlohmann::serializer class. Small side node: This also resolves the CSP issue with the inline CSS classes that are currently embedded in the json UI. Note, in terms of user facing behavior, this finally fixes the CSS issue, so the div is now centered as designed. Previously it was left justified. Tested: Ran several redfish schemas and compared to old ones. Output appears the same in the window, and content security policy warnings are gone. Verified several links works as expected, and verified the behavior of all base types, as well as empty arrays and empty objects. All appear to work correctly. Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: Id9bf6dc33acb1603f009de4cd322e81d83f334be