File tree 1 file changed +9
-7
lines changed
libraries/ESP8266WebServer/src
1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -108,20 +108,22 @@ bool ESP8266WebServer::_parseRequest(WiFiClient& client) {
108
108
109
109
if (!isForm){
110
110
if (searchStr != " " ) searchStr += ' &' ;
111
- String bodyLine = client.readStringUntil (' \r ' );
111
+ size_t plainLen = client.available ();
112
+ char *plainBuf = (char *)malloc (plainLen+1 );
113
+ client.readBytes (plainBuf, plainLen);
114
+ plainBuf[plainLen] = ' \0 ' ;
112
115
#ifdef DEBUG
113
116
DEBUG_OUTPUT.print (" Plain: " );
114
- DEBUG_OUTPUT.println (bodyLine );
117
+ DEBUG_OUTPUT.println (plainBuf );
115
118
#endif
116
- if (bodyLine. startsWith ( " { " ) || bodyLine. startsWith ( " [ " ) || bodyLine. indexOf ( ' = ' ) == - 1 ){
119
+ if (plainBuf[ 0 ] == ' { ' || plainBuf[ 0 ] == ' [ ' || strstr (plainBuf, " = " ) == NULL ){
117
120
// plain post json or other data
118
121
searchStr += " plain=" ;
119
- searchStr += bodyLine;
120
- searchStr += client.readString ();
122
+ searchStr += plainBuf;
121
123
} else {
122
- searchStr += bodyLine;
123
- client.readStringUntil (' \n ' );
124
+ searchStr += plainBuf;
124
125
}
126
+ free (plainBuf);
125
127
}
126
128
_parseArguments (searchStr);
127
129
if (isForm){
You can’t perform that action at this time.
0 commit comments