summaryrefslogtreecommitdiff
path: root/http/websocket.hpp
AgeCommit message (Collapse)AuthorFilesLines
2021-11-16Revert "Change the completionhandler to accept Res"Gunnar Mills1-2/+2
This reverts commit 91995f3272010875e1559397e98ca93354066a0e. Seeing bumps fail. https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/48864 Please fix, test, and resubmit. Change-Id: Id539fe66d5a093caf8f22a393f7af7b58ead5247 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
2021-11-16Revert "Remove AsyncResp from openHandler"Gunnar Mills1-3/+8
This reverts commit 0f3d3a01aed4040ef73a977a958ecdf4f68111f6. Seeing bumps fail. Change-Id: Ida7b1bae48abbed2e00a5259e8f94b64168d4788 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
2021-11-16Remove AsyncResp from openHandlerzhanghch051-8/+3
This change, moving the openHandler back to only supporting websocket disconnects and not 404s.Because AsyncResp is removed from openHandler. Tested: Opened KVM in webui-vue and it works. Signed-off-by: zhanghaicheng <zhanghch05@inspur.com> Change-Id: I90811f4ab91ad41cb298877f76252dce80932b2b
2021-11-16Change the completionhandler to accept Reszhanghch051-2/+2
These modifications are from WIP:Redfish:Query parameters:Only (https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/47474). And they will be used in Redfish:Query Parameters:Only. (https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/38952) The code changed the completion handle to accept Res to be able to recall handle with a new Response object. AsyncResp owns a new res, so there is no need to pass in a res. Tested: 1.Basic and Token auth both still work. 2.Use scripts/websocket_test.py to test websockets. It is still work correctly. python3 websocket_test.py --host 127.0.0.1:2443 This modification is a public part, so you can use any URL to test this function. The response is the same as before. Signed-off-by: zhanghaicheng <zhanghch05@inspur.com> Change-Id: I570e32fb47a9a90fe111fcd1f4054060cd21def3
2021-07-23Enable Keepalive to server roledhineskumare1-0/+3
This commit is for, enable the timeout setting with suggested values for server(300sec) role. Server's keep_alive_pings is true by default, so time to server role is become 300/2 sec. It is used for to check server/client communication status in every 150sec. There is a timeout option to websocket stream, which is created by boost library .By default, timeouts on websocket streams are disabled. The way to turn them on is to set the suggested timeout settings on the stream. Idle Timeout is configured as 300sec to server role by default. We can adjust the timeout value which we want exactly by changing the idle_timeout. Depends on keep_alive_pings , the suggested value of the idle timeout will be consider. Keep_alive_pings of server role is set to `true` by default in boost library. So idle_timeout of server role is consider as 300/2 sec by default. https://www.boost.org/doc/libs/master/libs/beast/doc/html/beast/using_websocket/timeouts.html Tested: Redirected Virtual media. connection has established successfully. Media instance gets redirected to host machine. Disconnected the client network. Keepalive idle timeout for server role will found stream miss communication status in next 150sec cycle, and virtual media websocket will be stop gracefully. Existing behaviour: 900sec (15 minutes) will be taken for closing the websocket connection due to network disconnection. Signed-off-by: Dhines Kumar E <dhineskumare@ami.com> Change-Id: Id68d6a5c9b0139b1c70f80e9265a3e4d96e2ee87
2021-02-20Remove permessage deflate from the buildEd Tanous1-1/+1
New versions of beast allow completely removing the per-message deflate functionality from the binary, thus saving space. Considering we never used it, it seems worthwhile to remove from the build entirely. This should have no impact on any external interface. https://www.boost.org/doc/libs/1_75_0/libs/beast/doc/html/beast/using_websocket.html Tested: Build before and after, ~31k of pre-compression binary space saved when this patchset is included. Also ran scripts/websocket_test.py python3 websocket_test.py --host 192.168.7.2 CPU 67.56 Memory 5.95 and saw sensor values stream correctly. Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I3d8e5febea2446eb4894a840f7fe7ef9cdf6995b
2021-01-16Add missing nullptr checkEd Tanous1-7/+10
In theory, having a sessionless websocket isn't possible. In practice, this did come up when an ownership issue caused UB, which is how I saw this. Tested: Tested with scripts/websocket_test.py and saw sensor values streaming by as expected. Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I7cc9c9660c8207ba857e6f6f14f010eaf79b73ef
2020-12-18Fix .clang-tidyEd Tanous1-10/+10
camelLower is not a type, camelBack is. Changes were made automatically with clang-tidy --fix-errors To be able to apply changes automatically, the only way I've found that works was to build the version of clang/clang-tidy that yocto has, and run the fix script within bitbake -c devshell bmcweb. Unfortunately, yocto has clang-tidy 11, which can apparently find a couple extra errors in tests we already had enabled. As such, a couple of those are also included. Tested: Ran clang-tidy-11 and got a clean result. Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: I9d1080b67f0342229c2f267160849445c065ca51
2020-10-23fix include namesEd Tanous1-0/+285
cppcheck isn't smart enough to recognize these are c++ headers, not c headers. Considering we're already inconsistent about our naming, it's easier to just be consistent, and move the last few files to use .hpp instead of .h. Tested: Code builds, no changes. Signed-off-by: Ed Tanous <ed@tanous.net> Change-Id: Ic348d695f8527fa4a0ded53f433e1558c319db40