add WiFiClientSecure::peek(); (#1310)
This commit is contained in:
parent
69f72eca84
commit
febcda0095
@ -39,7 +39,7 @@ WiFiClientSecure::WiFiClientSecure()
|
|||||||
_CA_cert = NULL;
|
_CA_cert = NULL;
|
||||||
_cert = NULL;
|
_cert = NULL;
|
||||||
_private_key = NULL;
|
_private_key = NULL;
|
||||||
next = NULL;
|
next = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -58,13 +58,13 @@ WiFiClientSecure::WiFiClientSecure(int sock)
|
|||||||
_CA_cert = NULL;
|
_CA_cert = NULL;
|
||||||
_cert = NULL;
|
_cert = NULL;
|
||||||
_private_key = NULL;
|
_private_key = NULL;
|
||||||
next = NULL;
|
next = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
WiFiClientSecure::~WiFiClientSecure()
|
WiFiClientSecure::~WiFiClientSecure()
|
||||||
{
|
{
|
||||||
stop();
|
stop();
|
||||||
delete sslclient;
|
delete sslclient;
|
||||||
}
|
}
|
||||||
|
|
||||||
WiFiClientSecure &WiFiClientSecure::operator=(const WiFiClientSecure &other)
|
WiFiClientSecure &WiFiClientSecure::operator=(const WiFiClientSecure &other)
|
||||||
@ -113,6 +113,14 @@ int WiFiClientSecure::connect(const char *host, uint16_t port, const char *_CA_c
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int WiFiClientSecure::peek(){
|
||||||
|
if(_peek >= 0){
|
||||||
|
return _peek;
|
||||||
|
}
|
||||||
|
_peek = read();
|
||||||
|
return _peek;
|
||||||
|
}
|
||||||
|
|
||||||
size_t WiFiClientSecure::write(uint8_t data)
|
size_t WiFiClientSecure::write(uint8_t data)
|
||||||
{
|
{
|
||||||
return write(&data, 1);
|
return write(&data, 1);
|
||||||
@ -120,7 +128,14 @@ size_t WiFiClientSecure::write(uint8_t data)
|
|||||||
|
|
||||||
int WiFiClientSecure::read()
|
int WiFiClientSecure::read()
|
||||||
{
|
{
|
||||||
uint8_t data = 0;
|
uint8_t data = -1;
|
||||||
|
|
||||||
|
if(_peek >= 0){
|
||||||
|
data = _peek;
|
||||||
|
_peek = -1;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
int res = read(&data, 1);
|
int res = read(&data, 1);
|
||||||
if (res < 0) {
|
if (res < 0) {
|
||||||
return res;
|
return res;
|
||||||
@ -143,6 +158,13 @@ size_t WiFiClientSecure::write(const uint8_t *buf, size_t size)
|
|||||||
|
|
||||||
int WiFiClientSecure::read(uint8_t *buf, size_t size)
|
int WiFiClientSecure::read(uint8_t *buf, size_t size)
|
||||||
{
|
{
|
||||||
|
if(_peek >= 0){
|
||||||
|
uint8_t data = -1;
|
||||||
|
data = _peek;
|
||||||
|
_peek = -1;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
if (!available()) {
|
if (!available()) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -161,7 +183,7 @@ int WiFiClientSecure::available()
|
|||||||
int res = data_to_read(sslclient);
|
int res = data_to_read(sslclient);
|
||||||
if (res < 0 ) {
|
if (res < 0 ) {
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,6 +31,7 @@ protected:
|
|||||||
sslclient_context *sslclient;
|
sslclient_context *sslclient;
|
||||||
|
|
||||||
int _lastError = 0;
|
int _lastError = 0;
|
||||||
|
int _peek = -1;
|
||||||
const char *_CA_cert;
|
const char *_CA_cert;
|
||||||
const char *_cert;
|
const char *_cert;
|
||||||
const char *_private_key;
|
const char *_private_key;
|
||||||
@ -44,15 +45,12 @@ public:
|
|||||||
int connect(const char *host, uint16_t port);
|
int connect(const char *host, uint16_t port);
|
||||||
int connect(IPAddress ip, uint16_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key);
|
int connect(IPAddress ip, uint16_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key);
|
||||||
int connect(const char *host, uint16_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key);
|
int connect(const char *host, uint16_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key);
|
||||||
|
int peek();
|
||||||
size_t write(uint8_t data);
|
size_t write(uint8_t data);
|
||||||
size_t write(const uint8_t *buf, size_t size);
|
size_t write(const uint8_t *buf, size_t size);
|
||||||
int available();
|
int available();
|
||||||
int read();
|
int read();
|
||||||
int read(uint8_t *buf, size_t size);
|
int read(uint8_t *buf, size_t size);
|
||||||
int peek()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
void flush() {}
|
void flush() {}
|
||||||
void stop();
|
void stop();
|
||||||
uint8_t connected();
|
uint8_t connected();
|
||||||
|
Loading…
Reference in New Issue
Block a user