1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-08-20 05:03:14 +03:00

Fix WebServerSecure streamFile() (#4545)

* Fix WebServerSecure streamFile()

ESP8266WebServerSecure's streamFile was using the base class' method
which did not use SSL encrypt before transmitting, leading to failure.

Add a new template method and required support for
WiFiClientSecure::write(Stream&) (using a local temp buffer since the
SSL libs do not grok Arduino Streams at all).

Fixes #4544

* Match ClientContext buffer and yield() behavior

ClientContext sends out 256 bytes at a time and gives a yield after
each chunk to ensure the WDT doesn't fire.  Mimic that behavior in
WiFiClientSecure::write(Stream&).
This commit is contained in:
Earle F. Philhower, III
2018-03-21 20:53:37 -07:00
committed by Develo
parent 3267443348
commit 42f824b2e4
3 changed files with 31 additions and 0 deletions

View File

@@ -43,6 +43,7 @@ public:
uint8_t connected() override;
size_t write(const uint8_t *buf, size_t size) override;
size_t write_P(PGM_P buf, size_t size) override;
size_t write(Stream& stream); // Note this is not virtual
int read(uint8_t *buf, size_t size) override;
int available() override;
int read() override;