summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibWebSocket
AgeCommit message (Collapse)Author
2021-06-06AK+Everywhere: Disallow constructing Functions from incompatible typesAli Mohammad Pur
Previously, AK::Function would accept _any_ callable type, and try to call it when called, first with the given set of arguments, then with zero arguments, and if all of those failed, it would simply not call the function and **return a value-constructed Out type**. This lead to many, many, many hard to debug situations when someone forgot a `const` in their lambda argument types, and many cases of people taking zero arguments in their lambdas to ignore them. This commit reworks the Function interface to not include any such surprising behaviour, if your function instance is not callable with the declared argument set of the Function, it can simply not be assigned to that Function instance, end of story.
2021-05-18LibWebSocket: Fixed occasional infinite loop with TLS socketsDexesTTP
This was caused by a double notifier on the TLS socket, which caused the TLS code to freak out about not being able to read properly. In addition, the existing loop inside of drain_read() has been replaced by code that actually works, and which includes new warnings when the drain method is called before initialization is done or after the websocket gets closed.
2021-05-17Everywhere: Fix a bunch of typosLinus Groh
2021-04-25Services: Add a WebSocket serviceDexesTTP
The WebSocket service isolates communication with a WebSocket to its own isolated process. Similar to other isolating services, it has its own user and group.
2021-04-25LibWebSocket+telws: Use my own copyright headers :^)DexesTTP
Since I guess I'll start attributing my own code, might as well change it for the previously written WebSocket code too !
2021-04-23AK: Rename adopt() to adopt_ref()Andreas Kling
This makes it more symmetrical with adopt_own() (which is used to create a NonnullOwnPtr from the result of a naked new.)
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-18LibWebSocket: Add a new websocket libraryDexesTTP
This library currently contains a basic WebSocket client that can handle both standard TCP websockets and TLS websockets.