PsychichHTTP v2-dev
This commit is contained in:
@@ -8,9 +8,9 @@
|
||||
#ifndef PSYCHIC_JSON_H_
|
||||
#define PSYCHIC_JSON_H_
|
||||
|
||||
#include "ChunkPrinter.h"
|
||||
#include "PsychicRequest.h"
|
||||
#include "PsychicWebHandler.h"
|
||||
#include "ChunkPrinter.h"
|
||||
#include <ArduinoJson.h>
|
||||
|
||||
#if ARDUINOJSON_VERSION_MAJOR == 6
|
||||
@@ -20,70 +20,71 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef JSON_BUFFER_SIZE
|
||||
#define JSON_BUFFER_SIZE 4*1024
|
||||
#define JSON_BUFFER_SIZE 4 * 1024
|
||||
#endif
|
||||
|
||||
constexpr const char *JSON_MIMETYPE = "application/json";
|
||||
constexpr const char* JSON_MIMETYPE = "application/json";
|
||||
|
||||
/*
|
||||
* Json Response
|
||||
* */
|
||||
|
||||
class PsychicJsonResponse : public PsychicResponse
|
||||
class PsychicJsonResponse : public PsychicResponseDelegate
|
||||
{
|
||||
protected:
|
||||
#ifdef ARDUINOJSON_5_COMPATIBILITY
|
||||
DynamicJsonBuffer _jsonBuffer;
|
||||
#elif ARDUINOJSON_VERSION_MAJOR == 6
|
||||
DynamicJsonDocument _jsonBuffer;
|
||||
#else
|
||||
JsonDocument _jsonBuffer;
|
||||
#endif
|
||||
#ifdef ARDUINOJSON_5_COMPATIBILITY
|
||||
DynamicJsonBuffer _jsonBuffer;
|
||||
#elif ARDUINOJSON_VERSION_MAJOR == 6
|
||||
DynamicJsonDocument _jsonBuffer;
|
||||
#else
|
||||
JsonDocument _jsonBuffer;
|
||||
#endif
|
||||
|
||||
JsonVariant _root;
|
||||
size_t _contentLength;
|
||||
|
||||
public:
|
||||
#ifdef ARDUINOJSON_5_COMPATIBILITY
|
||||
PsychicJsonResponse(PsychicRequest *request, bool isArray = false);
|
||||
#elif ARDUINOJSON_VERSION_MAJOR == 6
|
||||
PsychicJsonResponse(PsychicRequest *request, bool isArray = false, size_t maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE);
|
||||
#else
|
||||
PsychicJsonResponse(PsychicRequest *request, bool isArray = false);
|
||||
#endif
|
||||
#ifdef ARDUINOJSON_5_COMPATIBILITY
|
||||
PsychicJsonResponse(PsychicResponse* response, bool isArray = false);
|
||||
#elif ARDUINOJSON_VERSION_MAJOR == 6
|
||||
PsychicJsonResponse(PsychicResponse* response, bool isArray = false, size_t maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE);
|
||||
#else
|
||||
PsychicJsonResponse(PsychicResponse* response, bool isArray = false);
|
||||
#endif
|
||||
|
||||
~PsychicJsonResponse() {}
|
||||
~PsychicJsonResponse()
|
||||
{
|
||||
}
|
||||
|
||||
JsonVariant &getRoot();
|
||||
JsonVariant& getRoot();
|
||||
size_t getLength();
|
||||
|
||||
virtual esp_err_t send() override;
|
||||
|
||||
esp_err_t send();
|
||||
};
|
||||
|
||||
class PsychicJsonHandler : public PsychicWebHandler
|
||||
{
|
||||
protected:
|
||||
PsychicJsonRequestCallback _onRequest;
|
||||
#if ARDUINOJSON_VERSION_MAJOR == 6
|
||||
const size_t _maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE;
|
||||
#endif
|
||||
#if ARDUINOJSON_VERSION_MAJOR == 6
|
||||
const size_t _maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE;
|
||||
#endif
|
||||
|
||||
public:
|
||||
#ifdef ARDUINOJSON_5_COMPATIBILITY
|
||||
PsychicJsonHandler();
|
||||
PsychicJsonHandler(PsychicJsonRequestCallback onRequest);
|
||||
#elif ARDUINOJSON_VERSION_MAJOR == 6
|
||||
PsychicJsonHandler(size_t maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE);
|
||||
PsychicJsonHandler(PsychicJsonRequestCallback onRequest, size_t maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE);
|
||||
#else
|
||||
PsychicJsonHandler();
|
||||
PsychicJsonHandler(PsychicJsonRequestCallback onRequest);
|
||||
#endif
|
||||
#ifdef ARDUINOJSON_5_COMPATIBILITY
|
||||
PsychicJsonHandler();
|
||||
PsychicJsonHandler(PsychicJsonRequestCallback onRequest);
|
||||
#elif ARDUINOJSON_VERSION_MAJOR == 6
|
||||
PsychicJsonHandler(size_t maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE);
|
||||
PsychicJsonHandler(PsychicJsonRequestCallback onRequest, size_t maxJsonBufferSize = DYNAMIC_JSON_DOCUMENT_SIZE);
|
||||
#else
|
||||
PsychicJsonHandler();
|
||||
PsychicJsonHandler(PsychicJsonRequestCallback onRequest);
|
||||
#endif
|
||||
|
||||
void onRequest(PsychicJsonRequestCallback fn);
|
||||
virtual esp_err_t handleRequest(PsychicRequest *request) override;
|
||||
virtual esp_err_t handleRequest(PsychicRequest* request, PsychicResponse* response) override;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user