Change buffer sizes to support GR-PEACH

Dependencies:   CyaSSL

Dependents:   GR-PEACH_Azure_Speech

Fork of HTTPClient-SSL by MultiTech

Committer:
ksekimoto
Date:
Sat Nov 07 12:20:31 2015 +0000
Revision:
50:7fbf8ef951f2
The first version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ksekimoto 50:7fbf8ef951f2 1 #ifndef HTTPFILE_H
ksekimoto 50:7fbf8ef951f2 2 #define HTTPFILE_H
ksekimoto 50:7fbf8ef951f2 3
ksekimoto 50:7fbf8ef951f2 4 #include <mbed.h>
ksekimoto 50:7fbf8ef951f2 5 #include "../IHTTPData.h"
ksekimoto 50:7fbf8ef951f2 6
ksekimoto 50:7fbf8ef951f2 7 class HTTPFile : public IHTTPDataIn {
ksekimoto 50:7fbf8ef951f2 8
ksekimoto 50:7fbf8ef951f2 9 public:
ksekimoto 50:7fbf8ef951f2 10 HTTPFile(char* filename);
ksekimoto 50:7fbf8ef951f2 11
ksekimoto 50:7fbf8ef951f2 12 /** Closes the file, should be called once the http connection is closed.
ksekimoto 50:7fbf8ef951f2 13 */
ksekimoto 50:7fbf8ef951f2 14 void close();
ksekimoto 50:7fbf8ef951f2 15
ksekimoto 50:7fbf8ef951f2 16 protected:
ksekimoto 50:7fbf8ef951f2 17
ksekimoto 50:7fbf8ef951f2 18 friend class HTTPClient;
ksekimoto 50:7fbf8ef951f2 19
ksekimoto 50:7fbf8ef951f2 20 /** Reset stream to its beginning
ksekimoto 50:7fbf8ef951f2 21 * Called by the HTTPClient on each new request
ksekimoto 50:7fbf8ef951f2 22 */
ksekimoto 50:7fbf8ef951f2 23 virtual void writeReset();
ksekimoto 50:7fbf8ef951f2 24
ksekimoto 50:7fbf8ef951f2 25 /** Write a piece of data transmitted by the server
ksekimoto 50:7fbf8ef951f2 26 * @param buf Pointer to the buffer from which to copy the data
ksekimoto 50:7fbf8ef951f2 27 * @param len Length of the buffer
ksekimoto 50:7fbf8ef951f2 28 */
ksekimoto 50:7fbf8ef951f2 29 virtual int write(const char* buf, size_t len);
ksekimoto 50:7fbf8ef951f2 30
ksekimoto 50:7fbf8ef951f2 31 /** Set MIME type
ksekimoto 50:7fbf8ef951f2 32 * @param type Internet media type from Content-Type header
ksekimoto 50:7fbf8ef951f2 33 */
ksekimoto 50:7fbf8ef951f2 34 virtual void setDataType(const char* type);
ksekimoto 50:7fbf8ef951f2 35
ksekimoto 50:7fbf8ef951f2 36 /** Determine whether the data is chunked
ksekimoto 50:7fbf8ef951f2 37 * Recovered from Transfer-Encoding header
ksekimoto 50:7fbf8ef951f2 38 */
ksekimoto 50:7fbf8ef951f2 39 virtual void setIsChunked(bool chunked);
ksekimoto 50:7fbf8ef951f2 40
ksekimoto 50:7fbf8ef951f2 41 /** If the data is not chunked, set its size
ksekimoto 50:7fbf8ef951f2 42 * From Content-Length header
ksekimoto 50:7fbf8ef951f2 43 */
ksekimoto 50:7fbf8ef951f2 44 virtual void setDataLen(size_t len);
ksekimoto 50:7fbf8ef951f2 45 private:
ksekimoto 50:7fbf8ef951f2 46 FILE *file;
ksekimoto 50:7fbf8ef951f2 47 size_t m_len;
ksekimoto 50:7fbf8ef951f2 48 bool m_chunked;
ksekimoto 50:7fbf8ef951f2 49 };
ksekimoto 50:7fbf8ef951f2 50 #endif