Browse Source

Added disableTlsVerification flag to C API

Paul-Louis Ageneau 5 years ago
parent
commit
69b48f50dd
2 changed files with 17 additions and 0 deletions
  1. 7 0
      include/rtc/rtc.h
  2. 10 0
      src/rtc.cpp

+ 7 - 0
include/rtc/rtc.h

@@ -37,6 +37,7 @@ extern "C" {
 #define RTC_ENABLE_WEBSOCKET 1
 #endif
 
+#include <stdbool.h>
 #include <stdint.h>
 
 // libdatachannel C API
@@ -120,7 +121,13 @@ RTC_EXPORT int rtcGetDataChannelLabel(int dc, char *buffer, int size);
 
 // WebSocket
 #if RTC_ENABLE_WEBSOCKET
+typedef struct {
+	bool disableTlsVerification;
+} rtcWsConfiguration;
+
 RTC_EXPORT int rtcCreateWebSocket(const char *url); // returns ws id
+RTC_EXPORT int rtcCreateWebSocketEx(const char *url,
+                                    const rtcWsConfiguration *config); // returns ws id
 RTC_EXPORT int rtcDeleteWebsocket(int ws);
 #endif
 

+ 10 - 0
src/rtc.cpp

@@ -273,6 +273,16 @@ int rtcCreateWebSocket(const char *url) {
 	});
 }
 
+int rtcCreateWebSocketEx(const char *url, const rtcWsConfiguration *config) {
+	return WRAP({
+		WebSocket::Configuration c;
+		c.disableTlsVerification = config->disableTlsVerification;
+		auto ws = std::make_shared<WebSocket>(c);
+		ws->open(url);
+		return emplaceWebSocket(ws);
+	});
+}
+
 int rtcDeleteWebsocket(int ws) {
 	return WRAP({
 		auto webSocket = getWebSocket(ws);