Ashod Nakashian
60344a0052
wsd: support asyncronous shutdown of WebSocketSession
...
Change-Id: I4c50c718388ae8c790d2e2bb1e3d4db93e92aee5
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 18:43:36 -04:00
Ashod Nakashian
7b28fe2d41
wsd: improved WebSocketSession
...
Change-Id: If3c92b59ae6303079bd544e29cb995ac3e0d6742
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 18:43:36 -04:00
Ashod Nakashian
7a997afb5a
wsd: test: WebSocketSession helper
...
Change-Id: I472282af94797ac59c6752bfd784c72012bec84f
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 18:43:36 -04:00
Ashod Nakashian
da28578087
wsd: test: fixup helpers
...
Change-Id: I0ab30977bc7bf6556665c41a92d7dd586d519e50
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 18:43:36 -04:00
Ashod Nakashian
ce99632081
wsd: std::move better than copy-from-ref
...
Change-Id: I7062ed9adf71099b3c54cbbb9784a582bde23715
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 18:43:36 -04:00
Ashod Nakashian
2c21fce9fe
wsd: use Socket::eraseFirstInputBytes for a cleaner interface
...
Change-Id: Ife2a740cdc79f1c908e111ba3572b4e0777054b9
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 18:43:36 -04:00
Ashod Nakashian
b35a269378
wsd: always include port in the Host header
...
Change-Id: Iab7680462eac68cf9c4fc1dde6be19e3985bd580
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 18:43:36 -04:00
Ashod Nakashian
849b744896
wsd: test: more parallel test execution and simpler Makefile
...
Change-Id: Ieacbfe9bedd90a7b1f55dac84d3fdffa22918e1b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 10:04:01 -04:00
Gökay Şatır
c82d614d16
SectionContainer: Remove extra "interactable" check.
...
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I296343dbf24e2daf5131d537d8d87496c0b51842
2021-04-11 16:28:45 +03:00
Gökay Şatır
1b4575483a
AutoFillMarkerSection: Fix for splitter point.
...
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I4fb19a52c94fea6c3da13367cc427df3e2ca9cae
2021-04-11 16:28:31 +03:00
Gökay Şatır
2a9ff2e25f
CanvasSectionContainer: Update test div upon setting section position.
...
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I99a9ca533293bb520449e12ff92074aec13b28ee
2021-04-11 16:28:31 +03:00
Gökay Şatır
55ec901333
CanvasSectionContainer: Add showSectionProperty.
...
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: Ic9b5636ca6da661d4bb00f35e66764e926cbaef8
2021-04-11 16:28:31 +03:00
Gökay Şatır
1ce3ac86e3
Autofillmarker: Follow up-2.
...
Set cursor style.
Fix bug related to split panes.
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: Id469f74077f8897227c84da6821c14d0fa87d269
2021-04-11 16:28:31 +03:00
Gökay Şatır
e5a7962147
CanvasSectionContainer: Add document object feature.
...
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: I20023403a2f693cdf0670eb92b5d3d1ee362f415
2021-04-11 16:28:31 +03:00
Gökay Şatır
a6b9d71c22
ScrollSection: Remove unnecessary assignments.
...
Signed-off-by: Gökay Şatır <gokay.satir@collabora.com>
Change-Id: Ic1257df185d94524f7d6fe4a53cfb949700ba57c
2021-04-11 16:17:25 +03:00
Ashod Nakashian
bd67b25872
wsd: SocketPoll::poll overloaded for deadline time
...
This makes it simpler to call poll repeatedly
within a given timeout, by first calculating
the deadline and passing it to poll to handle
the math.
Change-Id: I7a9311286ec368c853de40f10523b7b98c8f8106
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
cff7841e65
wsd: test: log more in UnitHTTP
...
Change-Id: I6418ed43a177ecbf702ce388df749274ac290460
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
0a73175764
wsd: reduce string copies
...
Change-Id: Ib38d7ebf1e66680779720cc1ce4d9bd07f9cab0a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
935448424f
make: build test after JS and WSD
...
Change-Id: Ifb073e31fedf67f96a877e9d3284bd4fae80c255
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
374f278228
wsd: WebSocketSession isSecure() -> secure()
...
Change-Id: I3d15414e0527b6651f5e8bce172e15e646003144
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
786e07addf
wsd: test: improve 500 GET test
...
This fixes a rare race-condition and thereby
improved the reliability of this test.
Change-Id: If308c6e28cd7de7a70adbfd99f6f6623ff990e5d
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
d6e2e641a2
wsd: make single-argument ctor explicit
...
Change-Id: I0adb3f73a92bbe5dedcf3d2c67b2935c13af5de0
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
3a07b60b40
wsd: test: helpers for http::WebSocketSession in tests
...
Change-Id: I4c34add289160b3ff9af9f0f3d8cddecfffd1031
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
09f0554891
wsd: http: WebSocketSession supports flexible message polling
...
Change-Id: Ic8b54e08fdeae4af1713931d96bbe2cd27ee9f4d
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
f94886fbe5
wsd: test: use WebSocketSession in UnitLoadTorture
...
Change-Id: I85f5df232d550bb6a6aafaa48fac512fd92fce84
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
4ca35edd8c
wsd: log the context in WebSocket Session logs
...
Useful for debugging, especially for unit-tests.
Change-Id: I820e584203a643a396d26c8817b9af1e750232c7
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
fecf32d872
wsd: test: use WebSocketSession::create in unit test
...
Change-Id: Ib4aecd163237220f80ff9e169c4a463ef2c08983
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
eb2424feb9
wsd: WebSocketSession create helper and shutdown member
...
Change-Id: I1cdf3f4f763a66972c9c84cec6a80f380ebcc2db
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
ec18cefae8
wsd: http: reuse parseUri
...
Change-Id: Ia54c767e8f63cca9990b54f49ce6ef5a47397496
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
4f05d69815
wsd: use http::Request for internal WS and simplify
...
Also, enable validation of WebSocket keys.
Change-Id: I226607b18a14d023bc9c55762580fd1cb47493f9
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
2e4524ad57
wsd: use WebSocketHandler instead of explicit WebSocket request
...
Now that the WebSocket functionality is available in
WebSocketHandler, we can cleanup Socket.
Change-Id: Ia3703ab5a2f00fb835eb80493bc400a91dabefad
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
7587ebd84f
wsd: http: move WebSocket creation into Request
...
Change-Id: Idb8251fc07d35a996673f91fcb14d5fd9835a414
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
1239685620
wsd: http: explicit Request constructor and Header arg
...
Change-Id: Ief228862d882ae96650708e30442693cc127f0c9
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
1190e7f2e0
wsd: improved WebSocket support
...
Change-Id: Ic1b9464819f5a91df46243c376237d064beeace4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
7b2a0da05b
wsd: WebSocketSession handshake and wait for message
...
With improved test.
Change-Id: I137a35195a81a4d2fbf530be3805e5350cb78644
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
4c759357d7
wsd: test: new document-load test with WebSocketSession
...
Change-Id: I6253091a9fc20fce6b263d0e62a137e5de942671
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
e8705abc96
wsd: new WebSocketSession to createa a WebSocket connection
...
A utility class to create a WebSocket connection based
on WebSocketHandler, http::Request, and SocketPoll.
Change-Id: I00dfd6fc88e210860e0e378587ef1c0a0a65bb5c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
54f80741e2
wsd: http: handle client-side WebSocket upgrade
...
This adds support to Web-Socket upgrade handshake
validation. We never had a proper client-side
Web-Socket, so never needed this.
Change-Id: If4b8e42daeab13a430179128750f6a4f17452f28
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
0624df1da4
wsd: restrict WebSocketHandler members
...
This simply reduces the public surface area
of the WebSocketHandler class.
Change-Id: I93be58923f429bceab74a9e239ad0fad11390449
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
f791e5bab6
wsd: test: new WebSocket load Test using http::Request
...
Change-Id: I4a7c854c14d17f87bb319f516d8f428749b137b4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
b12a4105fb
wsd: WebSocketHandler fully supports http::Request
...
Change-Id: Ia5ff17e9aa8cbaded4e304be8c673b8f1575b6ce
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
813c0747f9
wsd: WebSocketHandler accepts http::Request in addition to Poco
...
Change-Id: I46fe2f85938284c2a3857a058ce61514354e796b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
d6d4fe0ea5
wsd: use setbody in LOOLWSD and avoid manual plumbing
...
Change-Id: I32ce4eba855a0996eff3ae2d85245e167d23abd0
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
64c494c2ee
wsd: use http::Response in LOOLWSD
...
Change-Id: I70db5293e7c0a8dd6602cf015420b6070c0f956f
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
b2a7843dc3
wsd: use http::Response in WebSocketHandler 101 responses
...
Change-Id: Ica3c7950360b62c0927d8a75d813846b301b7403
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
a8b50f5801
wsd: use http::Response in LOOLWSD file serving
...
Change-Id: Ia2d592e8b279f69f257d5b216e05de2437fa3d60
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
12c57cb1a0
wsd: use http::Response for LOOLWSD 400 errors
...
Change-Id: I22f9b78f1ed6500111697b6017b0e654f7b97def
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
e1c1927cc6
wsd: use http::Response for LOOLWSD 401 and 404 errors
...
Change-Id: I1500939d68db3f68954fcf522d20080420b37e14
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
84798e0b04
wsd: test: unit-http is part of group0
...
This was accidentally removed. However,
we do want to remove this grouping logic
so that the tests execute faster.
Unfortunately, without the grouping some
tests fail randomly. Specifically, UnitHTTP
had an implicit dependency on the jail temp
to be created before it ran, lest it failed.
This is now fixed in the previous commit,
which paves the way to removing the grouping.
Change-Id: If18f7faf8ed0677b718db48781b387c7b37d6b0b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00
Ashod Nakashian
04c15755b0
wsd: create the temp directory root recursively
...
Without this, the conversion test in UnitHTTP
fails because the root of the temp directory
hasn't yet been created (mkdir actually fails,
since the root is missing).
This failure occures when UnitHTTP is executed
before other tests.
Change-Id: I9b5d9a48c8ab9735978ecfa2d29944e037cf794d
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-04-11 01:05:20 -04:00