Commit Graph

1347 Commits

Author SHA1 Message Date
Seizure Salad
20a028e2ae
Fix spelling mistake (#401) 2022-08-02 13:28:59 -07:00
Benjamin Sergeant
8d7b557be6
Delete stale.yml
Remove the stale github action.
2022-06-30 10:41:08 +02:00
Benjamin Sergeant
e417e63605
Update CHANGELOG.md 2022-05-13 10:45:46 -07:00
Benjamin Sergeant
7b1524d7ec
Update IXWebSocketVersion.h 2022-05-13 10:43:32 -07:00
Max Weisel
e8048ad826
BoringSSL does not allow setting the hostname with a null-terminated string. The length is always required: https://boringssl.googlesource.com/boringssl/+/master/crypto/x509/x509_vpm.c#93 (#391) 2022-05-05 08:11:18 -07:00
Benjamin Sergeant
2b40a30c8f
Update README.md 2022-05-02 09:34:43 -07:00
Benjamin Sergeant
d7bfe89e43
Set shorter thread names (#379) 2022-04-30 10:18:20 -07:00
Benjamin Sergeant
84aa652846
Set shorter thread names (#379) 2022-04-30 10:16:53 -07:00
Robin Sommer
edb6ded99f
Fix Sec-WebSocket-Key to contain valid Base64. (#389)
The generated header only "looked like" Base64, but if the other side
actually tried to decode it as such, it could fail. This change fixes
that to always generate a valid Base64 value.

The Base64 code is copied from
https://gist.github.com/tomykaira/f0fd86b6c73063283afe550bc5d77594.
2022-04-29 00:05:06 -07:00
Benjamin Sergeant
2f560ff4c0
Update IXWebSocketVersion.h 2022-04-28 23:56:40 -07:00
Benjamin Sergeant
002d9c8985
Update ixwebsocket-config.cmake.in (#390) 2022-04-28 23:56:00 -07:00
Benjamin Sergeant
6d8495bd73
Update CHANGELOG.md 2022-04-23 22:53:36 -07:00
Benjamin Sergeant
b8563eddd1
11.4.1 2022-04-23 22:52:32 -07:00
Cheney Wang
46bd2aa4a1
vcpkg zlib dep fix (#385)
* vcpkg zlib dep fix

* Use cmake.in file instead of write file directly

Co-authored-by: Cheney-Wang <v-xincwa@microsoft.com>
2022-04-23 18:16:13 -07:00
Benjamin Sergeant
4420bc70b5
Revert "Export static symbols when building ws with shared library (#370)" (#383)
This reverts commit a3d2fa4b7e.
2022-04-12 08:55:43 -07:00
Benjamin Sergeant
20921f341a
Update README.md 2022-03-28 22:04:27 -07:00
Benjamin Sergeant
2829c62ef9
Fix error handling after calling X509_NAME_get_index_by_NID
This should fix #376
2022-03-27 19:14:40 -07:00
Anton Ivlev
a3d2fa4b7e
Export static symbols when building ws with shared library (#370) 2022-03-19 11:41:40 -07:00
Benjamin Sergeant
f7eb3688dd
Update IXExponentialBackoffTest.cpp 2022-02-17 09:17:47 -08:00
Benjamin Sergeant
7360333aca
Handle overflow in IXExponentialBackoff.cpp 2022-02-17 09:17:02 -08:00
Benjamin Sergeant
90f19e0280
Reference new IXExponentialBackoffTest test in CMakeLists.txt 2022-02-17 09:08:49 -08:00
Benjamin Sergeant
b72f81540b
Create IXExponentialBackoffTest.cpp 2022-02-17 09:07:46 -08:00
Benjamin Sergeant
a77fd2d698
Update catch to v2.13.8 (#365) 2022-02-17 08:38:46 -08:00
flagarde
e12a6ddbdd
Update IXSocketConnect.cpp (#356)
Part of the code is never executed
warning raised by clang
2022-02-10 20:50:55 -08:00
flagarde
127cc4a023
Fix for MINGW32 and clang on windows (#352) (#357)
* Update IXSocket.h

Avoid "conflicting declaration 'typedef SSIZE_T ssize_t'"

* Update IXUdpSocket.h

* Update IXNetSystem.cpp

ENOSPC and EAFNOSUPPORT are not defined for clang on windows
2022-02-10 20:49:33 -08:00
Benjamin Sergeant
7711cb1ae7
Feature/no libdeflate (#360)
remove libdeflate code in gzip codec
2022-02-10 20:47:32 -08:00
Martin Natano
db7057de69
Add support for streaming transfers (#353)
This change adds onChunkCallback to the request. If defined it will be
called repeatedly with the incoming data. This allows to process data on
the go or write it to disk instead of accumulating the data in memory.
2022-01-31 21:54:32 -08:00
Benjamin Sergeant
c28b569535
Edit doc about thread safety, fix #350 2022-01-28 16:27:45 -08:00
flagarde
8d661b8e81
Use Threads::Threads target (#349) 2022-01-16 17:39:21 -08:00
flagarde
a951bc9cae
Add an alias for ixwebsocket (#348) 2022-01-16 17:36:38 -08:00
Andreas Hausladen
b5cf33a582
Introduction of IXWebSocketSendData (#347)
* Introduction of IXWebSocketSendData that makes it possible to not only send std::string but also std::vector<char/uint8_t> and char* without copying them to a std::string first.

Add a sendUtf8Text() method that doesn't check for invalid UTF-8 characters. The caller must guarantee that the string only contains valid UTF-8 characters.

* Updated usage.md: sendUtf8Text() and IXWebSocketSendData
2022-01-10 10:34:24 -08:00
Andreas Hausladen
2bc3afcf6c
Fixed missing header for gcc (9.3.0) compilation (#346) 2022-01-06 19:27:00 -08:00
Benjamin Sergeant
60563d88f2
Feature/11.4.0 (#344)
* mbedls system certs

* missing curly brace ...

* windows uwp for appveyor

* try again uwp

* update version and changelog

* revert odd change in test/IXSocketTest.cpp

Co-authored-by: Benjamin Sergeant <bsergeant@mz.com>
2022-01-05 10:43:18 -08:00
Andreas Hausladen
1f2895a469
Win wsa select event (#342)
* Fix #323: Missing SelectInterrupt implementation for Windows

Using WSAEventSelect, WSAWaitForMultipleEvents and WSAEnumNetworkEvents to emulate poll() with an interrupt-event.

* Cleanup

* Fixed incomplete comment.

* Switched ifdefs to support other Unixes with pipe file descriptors

* Fixed: SelectInterrupt fallback code for getFd()==-1 && getEvent()==nullptr converted a PollResultType::Timeout into a ReadyForRead causing the HttpClient to fail because it uses a hard-coded "SelectInterrupt" instance that doesn't implement getFd() and getEvent().

* Fixed gcc compile errors

* - HttpClient now uses the SelectInterruptFactory
- Fixed wrong ix::poll result when using Windows WSA functions

* We must deselect the networkevents from the socket event. Otherwise the socket will report states that aren't there.
2022-01-05 10:21:33 -08:00
Andreas Hausladen
9f00428d57
Fix "HTTP/1.1 400 Illegal character CNTL=0xf" caused by serverMaxWindowBits/clientMaxWindowBits being uint8_t (signed char). (#341) 2022-01-04 12:25:18 -08:00
CryptoManiac
f53b2f8878
Export symbols into .def files on MSVC (#339)
Fix #335
2022-01-04 12:13:38 -08:00
CryptoManiac
47d0b70ebf
Include <cerrno> to provide standard error constants (#338)
See https://en.cppreference.com/w/cpp/header/cerrno for additional details. Some of used constants are defined in this header.

Inclusion is necessary to avoid these errors:

```
/home/user/IXWebSocket/ixwebsocket/IXNetSystem.cpp:189:30: error: use of undeclared identifier 'EAFNOSUPPORT'
            default: errno = EAFNOSUPPORT; return 0;
                             ^
/home/user/IXWebSocket/ixwebsocket/IXNetSystem.cpp:191:17: error: use of undeclared identifier 'ENOSPC'
        errno = ENOSPC;
                ^
/home/user/IXWebSocket/ixwebsocket/IXNetSystem.cpp:175:25: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32]
                    j = strspn(buf + i, ":0");
                      ~ ^~~~~~~~~~~~~~~~~~~~~
/home/user/IXWebSocket/ixwebsocket/IXNetSystem.cpp:234:21: error: use of undeclared identifier 'EAFNOSUPPORT'
            errno = EAFNOSUPPORT;
                    ^
2 warnings and 3 errors generated.
```
2022-01-04 12:13:19 -08:00
Benjamin Sergeant
8c15405ed0
Add a reference to NovaCoin in the README 2021-12-22 22:52:53 -08:00
svost
5457217503
Improved compatibility - fix mingw crossbuild (#337) 2021-12-22 22:48:20 -08:00
Martin Natano
66cd29e747
Allow to cancel asynchronous HTTP requests (#332)
Usage:

	auto args = this->httpClient.createRequest(url, method);
	httpClient.performRequest(args, ...);
	[...]
	// Oops, we don't actually want to complete the request!
	args->cancel = true;
2021-12-20 23:01:55 -08:00
Matthew Gordon
688f85fda6
Fix errors in example code. (#336) 2021-12-20 22:59:15 -08:00
Benjamin Sergeant
71f73e5f6e
Update README (add another project using the lib) 2021-12-02 22:49:12 -08:00
Benjamin Sergeant
42db05a38b
Update mkdocs.yml 2021-11-24 09:05:54 -08:00
Benjamin Sergeant
6cce066021
Update index.md 2021-11-24 09:02:42 -08:00
Benjamin Sergeant
9c6dcb24a9
Update mkdocs.yml 2021-11-24 09:01:10 -08:00
Benjamin Sergeant
05a27c89e3
Update design.md 2021-11-24 09:00:23 -08:00
Benjamin Sergeant
23dbc8ae63
Update mkdocs.yml
Try a new version of the checkout action.
2021-11-24 08:56:14 -08:00
Benjamin Sergeant
5f2955ef78
Feature/version 11.3.2 (#329)
* mbedls system certs

* missing curly brace ...

* windows uwp for appveyor

* try again uwp

* bump version

* keep using local cacert.pem in unittest

* appveyor back to normal

* remove appveyor file

Co-authored-by: Benjamin Sergeant <bsergeant@mz.com>
2021-11-24 08:45:04 -08:00
flagarde
882081536c
Fix IXWebSocketMessage.h:35:15: warning: ‘webSocketMessageType’ may be used uninitialized in this function [-Wmaybe-uninitialized] (#328) 2021-11-24 08:33:09 -08:00
flagarde
74bb85efe9
Add getters (#327)
* Add getters for IXSocketServer class

* Add getters for IXHttpServer class

* Add getters for IXWebSocketServer class
2021-11-24 08:28:25 -08:00