15 static const char error[] =
16 "{\"error\":{\"code\":-32603,\"message\":\"Out of memory\"},"
17 "\"id\":null,\"jsonrpc\":\"2.0\"}";
19 failure.
write(prefix, prefixLength);
20 failure.
write(error,
sizeof(error) - 1);
21 if (failure.
size() == prefixLength +
sizeof(error) - 1) {
32 const fl::size bodyLength = jsonStr.
size();
33 const fl::size prefixLength = prefix ?
fl::strlen(prefix) : 0;
34 if (bodyLength == 0) {
37 return outOfMemoryResponse(prefix, prefixLength);
39 if (prefixLength != 0) {
40 const fl::size totalLength = bodyLength + prefixLength;
43 jsonStr.
write(prefix, prefixLength);
45 if (jsonStr.
size() != totalLength || totalLength < bodyLength) {
49 return outOfMemoryResponse(prefix, prefixLength);
51 char *bytes = &jsonStr[0];
52 fl::memmove(bytes + prefixLength, bytes, bodyLength);
57 for (fl::size i = prefixLength; i < jsonStr.
size(); ++i) {
58 char &
byte = jsonStr[i];
59 if (
byte ==
'\n' ||
byte ==
'\r') {
void clear(bool freeMemory=false) FL_NO_EXCEPT
void reserve(fl::size newCapacity) FL_NO_EXCEPT
fl::size write(const fl::u8 *data, fl::size n) FL_NO_EXCEPT
fl::size size() const FL_NO_EXCEPT
static constexpr fl::size npos
fl::string outOfMemoryResponse(const char *prefix, fl::size prefixLength) FL_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
FASTLED_FORCE_INLINE void * memmove(void *dest, const void *src, size_t n) FL_NO_EXCEPT
FASTLED_FORCE_INLINE void * memcpy(void *dest, const void *src, size_t n) FL_NO_EXCEPT
fl::string formatJsonResponse(const fl::json &response, const char *prefix) FL_NO_EXCEPT
Serialize JSON response to a string.
FASTLED_FORCE_INLINE size_t strlen(const char *s) FL_NO_EXCEPT
Base definition for an LED controller.