Skip to content

Commit cc9b7ed

Browse files
committed
Create network client interface class
1 parent 8448e87 commit cc9b7ed

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

src/NetworkClient.h

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#pragma once
2+
3+
#include <Client.h>
4+
#include <WiFiClient.h>
5+
6+
class NetworkClient : public Client {
7+
public:
8+
NetworkClient();
9+
NetworkClient(WiFiClient wifi_client);
10+
virtual ~NetworkClient() = default;
11+
12+
int connect(IPAddress ip, uint16_t port) final;
13+
int connect(const char * host, uint16_t port) final;
14+
int connect(const char * host, uint16_t port, int32_t timeout);
15+
size_t write(uint8_t) final;
16+
size_t write(const uint8_t * buf, size_t size) final;
17+
size_t write(const char * str);
18+
int available() final;
19+
int read() final;
20+
int read(uint8_t * buf, size_t size) final;
21+
int peek() final;
22+
void flush() final;
23+
void stop() final;
24+
uint8_t connected() final;
25+
operator bool() final;
26+
27+
void setCACert(const char * rootCA);
28+
void setCACertBundle(const uint8_t * bundle);
29+
void setInsecure();
30+
bool verify(const char * fingerprint, const char * domain_name);
31+
};

src/WebSockets.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,15 @@
287287
#define WEBSOCKETS_NETWORK_CLASS WiFiClient
288288
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
289289

290-
#elif(WEBSOCKETS_NETWORK_TYPE != NETWORK_CUSTOM)
290+
#elif(WEBSOCKETS_NETWORK_TYPE == NETWORK_CUSTOM)
291+
#include <NetworkClient.h>
292+
#include <WiFiServer.h>
293+
294+
#define SSL_AXTLS
295+
#define WEBSOCKETS_NETWORK_CLASS NetworkClient
296+
#define WEBSOCKETS_NETWORK_SSL_CLASS NetworkClient
297+
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
298+
#else
291299
#error "no network type selected!"
292300
#endif
293301

0 commit comments

Comments
 (0)