ESP32 HTTPS Server
HTTPMultipartBodyParser.hpp
1 #ifndef SRC_HTTPMULTIPARTBODYPARSER_HPP_
2 #define SRC_HTTPMULTIPARTBODYPARSER_HPP_
3 
4 #include <Arduino.h>
5 #include "HTTPBodyParser.hpp"
6 
7 namespace httpsserver {
8 
10 public:
13  virtual bool nextField();
14  virtual std::string getFieldName();
15  virtual std::string getFieldFilename();
16  virtual std::string getFieldMimeType();
17  virtual bool endOfField();
18  virtual size_t read(byte* buffer, size_t bufferSize);
19 private:
20  std::string readLine();
21  void fillBuffer(size_t maxLen);
22  void consumedBuffer(size_t consumed);
23  bool skipCRLF();
24  bool peekBoundary();
25  void discardBody();
26  bool endOfBody();
27  char *peekBuffer;
28  size_t peekBufferSize;
29 
30  std::string boundary;
31  std::string lastBoundary;
32  std::string fieldName;
33  std::string fieldMimeType;
34  std::string fieldFilename;
35 };
36 
37 } // namespace httpserver
38 
39 #endif
Represents the request stream for an HTTP request.
Definition: HTTPRequest.hpp:22
virtual std::string getFieldName()
Definition: HTTPMultipartBodyParser.cpp:249
virtual bool nextField()
Definition: HTTPMultipartBodyParser.cpp:173
Definition: HTTPBodyParser.hpp:20
virtual size_t read(byte *buffer, size_t bufferSize)
Definition: HTTPMultipartBodyParser.cpp:265
virtual std::string getFieldFilename()
Definition: HTTPMultipartBodyParser.cpp:253
virtual std::string getFieldMimeType()
Definition: HTTPMultipartBodyParser.cpp:257
virtual bool endOfField()
Definition: HTTPMultipartBodyParser.cpp:261
Definition: HTTPMultipartBodyParser.hpp:9
Definition: ConnectionContext.cpp:3