[TD-1291]
This commit is contained in:
parent
0f01ebf53b
commit
dfa681df3c
|
@ -111,6 +111,7 @@ typedef struct HttpParser {
|
||||||
|
|
||||||
void httpInitParser(HttpParser *parser);
|
void httpInitParser(HttpParser *parser);
|
||||||
HttpParser *httpCreateParser(struct HttpContext *pContext);
|
HttpParser *httpCreateParser(struct HttpContext *pContext);
|
||||||
|
void httpClearParser(HttpParser *parser);
|
||||||
void httpDestroyParser(HttpParser *parser);
|
void httpDestroyParser(HttpParser *parser);
|
||||||
int32_t httpParseBuf(HttpParser *parser, const char *buf, int32_t len);
|
int32_t httpParseBuf(HttpParser *parser, const char *buf, int32_t len);
|
||||||
char * httpGetStatusDesc(int32_t statusCode);
|
char * httpGetStatusDesc(int32_t statusCode);
|
||||||
|
|
|
@ -138,7 +138,7 @@ HttpContext *httpGetContext(void *ptr) {
|
||||||
HttpContext *pContext = *ppContext;
|
HttpContext *pContext = *ppContext;
|
||||||
if (pContext) {
|
if (pContext) {
|
||||||
int32_t refCount = atomic_add_fetch_32(&pContext->refCount, 1);
|
int32_t refCount = atomic_add_fetch_32(&pContext->refCount, 1);
|
||||||
httpDebug("context:%p, fd:%d, is accquired, data:%p refCount:%d", pContext, pContext->fd, ppContext, refCount);
|
httpTrace("context:%p, fd:%d, is accquired, data:%p refCount:%d", pContext, pContext->fd, ppContext, refCount);
|
||||||
return pContext;
|
return pContext;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -152,9 +152,9 @@ void httpReleaseContext(HttpContext *pContext) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
pContext->parser->inited = 0;
|
httpClearParser(pContext->parser);
|
||||||
HttpContext **ppContext = pContext->ppContext;
|
HttpContext **ppContext = pContext->ppContext;
|
||||||
httpDebug("context:%p, is released, data:%p refCount:%d", pContext, ppContext, refCount);
|
httpTrace("context:%p, is released, data:%p refCount:%d", pContext, ppContext, refCount);
|
||||||
|
|
||||||
if (tsHttpServer.contextCache != NULL) {
|
if (tsHttpServer.contextCache != NULL) {
|
||||||
taosCacheRelease(tsHttpServer.contextCache, (void **)(&ppContext), false);
|
taosCacheRelease(tsHttpServer.contextCache, (void **)(&ppContext), false);
|
||||||
|
@ -173,7 +173,7 @@ bool httpInitContext(HttpContext *pContext) {
|
||||||
memset(&pContext->singleCmd, 0, sizeof(HttpSqlCmd));
|
memset(&pContext->singleCmd, 0, sizeof(HttpSqlCmd));
|
||||||
|
|
||||||
|
|
||||||
httpDebug("context:%p, fd:%d, parsed:%d", pContext, pContext->fd, pContext->parsed);
|
httpTrace("context:%p, fd:%d, parsed:%d", pContext, pContext->fd, pContext->parsed);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,15 +191,15 @@ void httpCloseContextByApp(HttpContext *pContext) {
|
||||||
|
|
||||||
if (keepAlive) {
|
if (keepAlive) {
|
||||||
if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_HANDLING, HTTP_CONTEXT_STATE_READY)) {
|
if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_HANDLING, HTTP_CONTEXT_STATE_READY)) {
|
||||||
httpDebug("context:%p, fd:%d, last state:handling, keepAlive:true, reuse context", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, last state:handling, keepAlive:true, reuse context", pContext, pContext->fd);
|
||||||
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_DROPPING, HTTP_CONTEXT_STATE_CLOSED)) {
|
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_DROPPING, HTTP_CONTEXT_STATE_CLOSED)) {
|
||||||
httpRemoveContextFromEpoll(pContext);
|
httpRemoveContextFromEpoll(pContext);
|
||||||
httpDebug("context:%p, fd:%d, ast state:dropping, keepAlive:true, close connect", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, ast state:dropping, keepAlive:true, close connect", pContext, pContext->fd);
|
||||||
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_READY)) {
|
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_READY)) {
|
||||||
httpDebug("context:%p, fd:%d, last state:ready, keepAlive:true, reuse context", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, last state:ready, keepAlive:true, reuse context", pContext, pContext->fd);
|
||||||
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_CLOSED, HTTP_CONTEXT_STATE_CLOSED)) {
|
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_CLOSED, HTTP_CONTEXT_STATE_CLOSED)) {
|
||||||
httpRemoveContextFromEpoll(pContext);
|
httpRemoveContextFromEpoll(pContext);
|
||||||
httpDebug("context:%p, fd:%d, last state:ready, keepAlive:true, close connect", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, last state:ready, keepAlive:true, close connect", pContext, pContext->fd);
|
||||||
} else {
|
} else {
|
||||||
httpRemoveContextFromEpoll(pContext);
|
httpRemoveContextFromEpoll(pContext);
|
||||||
httpError("context:%p, fd:%d, last state:%s:%d, keepAlive:true, close connect", pContext, pContext->fd,
|
httpError("context:%p, fd:%d, last state:%s:%d, keepAlive:true, close connect", pContext, pContext->fd,
|
||||||
|
@ -207,7 +207,7 @@ void httpCloseContextByApp(HttpContext *pContext) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
httpRemoveContextFromEpoll(pContext);
|
httpRemoveContextFromEpoll(pContext);
|
||||||
httpDebug("context:%p, fd:%d, ilast state:%s:%d, keepAlive:false, close context", pContext, pContext->fd,
|
httpTrace("context:%p, fd:%d, ilast state:%s:%d, keepAlive:false, close context", pContext, pContext->fd,
|
||||||
httpContextStateStr(pContext->state), pContext->state);
|
httpContextStateStr(pContext->state), pContext->state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,13 +216,13 @@ void httpCloseContextByApp(HttpContext *pContext) {
|
||||||
|
|
||||||
void httpCloseContextByServer(HttpContext *pContext) {
|
void httpCloseContextByServer(HttpContext *pContext) {
|
||||||
if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_HANDLING, HTTP_CONTEXT_STATE_DROPPING)) {
|
if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_HANDLING, HTTP_CONTEXT_STATE_DROPPING)) {
|
||||||
httpDebug("context:%p, fd:%d, epoll finished, still used by app", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, epoll finished, still used by app", pContext, pContext->fd);
|
||||||
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_DROPPING, HTTP_CONTEXT_STATE_DROPPING)) {
|
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_DROPPING, HTTP_CONTEXT_STATE_DROPPING)) {
|
||||||
httpDebug("context:%p, fd:%d, epoll already finished, wait app finished", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, epoll already finished, wait app finished", pContext, pContext->fd);
|
||||||
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_CLOSED)) {
|
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_CLOSED)) {
|
||||||
httpDebug("context:%p, fd:%d, epoll finished, close connect", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, epoll finished, close connect", pContext, pContext->fd);
|
||||||
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_CLOSED, HTTP_CONTEXT_STATE_CLOSED)) {
|
} else if (httpAlterContextState(pContext, HTTP_CONTEXT_STATE_CLOSED, HTTP_CONTEXT_STATE_CLOSED)) {
|
||||||
httpDebug("context:%p, fd:%d, epoll finished, will be closed soon", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, epoll finished, will be closed soon", pContext, pContext->fd);
|
||||||
} else {
|
} else {
|
||||||
httpError("context:%p, fd:%d, unknown state:%d", pContext, pContext->fd, pContext->state);
|
httpError("context:%p, fd:%d, unknown state:%d", pContext, pContext->fd, pContext->state);
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ bool httpDecodeRequest(HttpContext* pContext) {
|
||||||
*/
|
*/
|
||||||
bool httpProcessData(HttpContext* pContext) {
|
bool httpProcessData(HttpContext* pContext) {
|
||||||
if (!httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_HANDLING)) {
|
if (!httpAlterContextState(pContext, HTTP_CONTEXT_STATE_READY, HTTP_CONTEXT_STATE_HANDLING)) {
|
||||||
httpDebug("context:%p, fd:%d, state:%s not in ready state, stop process request", pContext, pContext->fd,
|
httpTrace("context:%p, fd:%d, state:%s not in ready state, stop process request", pContext, pContext->fd,
|
||||||
httpContextStateStr(pContext->state));
|
httpContextStateStr(pContext->state));
|
||||||
httpCloseContextByApp(pContext);
|
httpCloseContextByApp(pContext);
|
||||||
return false;
|
return false;
|
||||||
|
@ -41,7 +41,7 @@ bool httpProcessData(HttpContext* pContext) {
|
||||||
|
|
||||||
// handle Cross-domain request
|
// handle Cross-domain request
|
||||||
if (strcmp(pContext->parser->method, "OPTIONS") == 0) {
|
if (strcmp(pContext->parser->method, "OPTIONS") == 0) {
|
||||||
httpDebug("context:%p, fd:%d, process options request", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, process options request", pContext, pContext->fd);
|
||||||
httpSendOptionResp(pContext, "process options request success");
|
httpSendOptionResp(pContext, "process options request success");
|
||||||
} else {
|
} else {
|
||||||
if (!httpDecodeRequest(pContext)) {
|
if (!httpDecodeRequest(pContext)) {
|
||||||
|
|
|
@ -189,7 +189,7 @@ void httpInitJsonBuf(JsonBuf* buf, struct HttpContext* pContext) {
|
||||||
httpGzipCompressInit(buf->pContext);
|
httpGzipCompressInit(buf->pContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
httpDebug("context:%p, fd:%d, json buffer initialized", buf->pContext, buf->pContext->fd);
|
httpTrace("context:%p, fd:%d, json buffer initialized", buf->pContext, buf->pContext->fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
void httpJsonItemToken(JsonBuf* buf) {
|
void httpJsonItemToken(JsonBuf* buf) {
|
||||||
|
|
|
@ -178,7 +178,7 @@ static int32_t httpOnRequestLine(HttpParser *pParser, char *method, char *target
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pContext->decodeMethod != NULL) {
|
if (pContext->decodeMethod != NULL) {
|
||||||
httpDebug("context:%p, fd:%d, decode method is %s", pContext, pContext->fd, pContext->decodeMethod->module);
|
httpTrace("context:%p, fd:%d, decode method is %s", pContext, pContext->fd, pContext->decodeMethod->module);
|
||||||
} else {
|
} else {
|
||||||
httpError("context:%p, fd:%d, the url is not support, target:%s", pContext, pContext->fd, target);
|
httpError("context:%p, fd:%d, the url is not support, target:%s", pContext, pContext->fd, target);
|
||||||
httpOnError(pParser, 0, TSDB_CODE_HTTP_UNSUPPORT_URL);
|
httpOnError(pParser, 0, TSDB_CODE_HTTP_UNSUPPORT_URL);
|
||||||
|
@ -190,7 +190,7 @@ static int32_t httpOnRequestLine(HttpParser *pParser, char *method, char *target
|
||||||
httpError("context:%p, fd:%d, unsupport httpVersion %d", pContext, pContext->fd, pParser->httpVersion);
|
httpError("context:%p, fd:%d, unsupport httpVersion %d", pContext, pContext->fd, pParser->httpVersion);
|
||||||
httpOnError(pParser, 0, TSDB_CODE_HTTP_INVALID_VERSION);
|
httpOnError(pParser, 0, TSDB_CODE_HTTP_INVALID_VERSION);
|
||||||
} else {
|
} else {
|
||||||
httpDebug("context:%p, fd:%d, httpVersion:1.%d", pContext, pContext->fd, pParser->httpVersion);
|
httpTrace("context:%p, fd:%d, httpVersion:1.%d", pContext, pContext->fd, pParser->httpVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -204,7 +204,7 @@ static int32_t httpOnStatusLine(HttpParser *pParser, int32_t code, const char *r
|
||||||
|
|
||||||
static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const char *val) {
|
static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const char *val) {
|
||||||
HttpContext *pContext = parser->pContext;
|
HttpContext *pContext = parser->pContext;
|
||||||
httpDebug("context:%p, fd:%d, key:%s val:%s", pContext, pContext->fd, key, val);
|
httpTrace("context:%p, fd:%d, key:%s val:%s", pContext, pContext->fd, key, val);
|
||||||
|
|
||||||
if (0 == strcasecmp(key, "Content-Length")) {
|
if (0 == strcasecmp(key, "Content-Length")) {
|
||||||
int32_t len = 0;
|
int32_t len = 0;
|
||||||
|
@ -214,7 +214,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
|
||||||
parser->contentLength = len;
|
parser->contentLength = len;
|
||||||
parser->chunkSize = len;
|
parser->chunkSize = len;
|
||||||
parser->contentLengthSpecified = 1;
|
parser->contentLengthSpecified = 1;
|
||||||
httpDebug("context:%p, fd:%d, contentLength:%d chunkSize:%d contentLengthSpecified:%d", pContext, pContext->fd,
|
httpTrace("context:%p, fd:%d, contentLength:%d chunkSize:%d contentLengthSpecified:%d", pContext, pContext->fd,
|
||||||
parser->contentLength, parser->chunkSize, parser->contentLengthSpecified);
|
parser->contentLength, parser->chunkSize, parser->contentLengthSpecified);
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
|
@ -227,11 +227,11 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
|
||||||
else if (0 == strcasecmp(key, "Accept-Encoding")) {
|
else if (0 == strcasecmp(key, "Accept-Encoding")) {
|
||||||
if (strstr(val, "gzip")) {
|
if (strstr(val, "gzip")) {
|
||||||
parser->acceptEncodingGzip = 1;
|
parser->acceptEncodingGzip = 1;
|
||||||
httpDebug("context:%p, fd:%d, acceptEncodingGzip:%d", pContext, pContext->fd, parser->acceptEncodingGzip);
|
httpTrace("context:%p, fd:%d, acceptEncodingGzip:%d", pContext, pContext->fd, parser->acceptEncodingGzip);
|
||||||
}
|
}
|
||||||
if (strstr(val, "chunked")) {
|
if (strstr(val, "chunked")) {
|
||||||
parser->acceptEncodingChunked = 1;
|
parser->acceptEncodingChunked = 1;
|
||||||
httpDebug("context:%p, fd:%d, acceptEncodingChunked:%d", pContext, pContext->fd, parser->acceptEncodingChunked);
|
httpTrace("context:%p, fd:%d, acceptEncodingChunked:%d", pContext, pContext->fd, parser->acceptEncodingChunked);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -248,7 +248,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
|
||||||
else if (0 == strcasecmp(key, "Content-Encoding")) {
|
else if (0 == strcasecmp(key, "Content-Encoding")) {
|
||||||
if (0 == strcmp(val, "gzip")) {
|
if (0 == strcmp(val, "gzip")) {
|
||||||
parser->contentChunked = 1;
|
parser->contentChunked = 1;
|
||||||
httpDebug("context:%p, fd:%d, contentChunked:%d", pContext, pContext->fd, parser->contentChunked);
|
httpTrace("context:%p, fd:%d, contentChunked:%d", pContext, pContext->fd, parser->contentChunked);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -271,7 +271,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
|
||||||
}
|
}
|
||||||
if (strstr(val, "chunked")) {
|
if (strstr(val, "chunked")) {
|
||||||
parser->transferChunked = 1;
|
parser->transferChunked = 1;
|
||||||
httpDebug("context:%p, fd:%d, transferChunked:%d", pContext, pContext->fd, parser->transferChunked);
|
httpTrace("context:%p, fd:%d, transferChunked:%d", pContext, pContext->fd, parser->transferChunked);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -289,7 +289,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
|
||||||
s = NULL;
|
s = NULL;
|
||||||
free(t);
|
free(t);
|
||||||
free(s);
|
free(s);
|
||||||
httpDebug("context:%p, fd:%d, basic auth:%s", pContext, pContext->fd, parser->authContent);
|
httpTrace("context:%p, fd:%d, basic auth:%s", pContext, pContext->fd, parser->authContent);
|
||||||
int32_t ok = httpParseBasicAuthToken(pContext, parser->authContent, strlen(parser->authContent));
|
int32_t ok = httpParseBasicAuthToken(pContext, parser->authContent, strlen(parser->authContent));
|
||||||
if (ok != 0) {
|
if (ok != 0) {
|
||||||
httpOnError(parser, 0, TSDB_CODE_HTTP_INVALID_BASIC_AUTH);
|
httpOnError(parser, 0, TSDB_CODE_HTTP_INVALID_BASIC_AUTH);
|
||||||
|
@ -303,7 +303,7 @@ static int32_t httpOnParseHeaderField(HttpParser *parser, const char *key, const
|
||||||
s = NULL;
|
s = NULL;
|
||||||
free(t);
|
free(t);
|
||||||
free(s);
|
free(s);
|
||||||
httpDebug("context:%p, fd:%d, taosd auth:%s", pContext, pContext->fd, parser->authContent);
|
httpTrace("context:%p, fd:%d, taosd auth:%s", pContext, pContext->fd, parser->authContent);
|
||||||
int32_t ok = httpParseTaosdAuthToken(pContext, parser->authContent, strlen(parser->authContent));
|
int32_t ok = httpParseTaosdAuthToken(pContext, parser->authContent, strlen(parser->authContent));
|
||||||
if (ok != 0) {
|
if (ok != 0) {
|
||||||
httpOnError(parser, 0, TSDB_CODE_HTTP_INVALID_TAOSD_AUTH);
|
httpOnError(parser, 0, TSDB_CODE_HTTP_INVALID_TAOSD_AUTH);
|
||||||
|
@ -371,7 +371,7 @@ static int32_t httpOnEnd(HttpParser *parser) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
httpDebug("context:%p, fd:%d, parse success", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, parse success", pContext, pContext->fd);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -422,7 +422,7 @@ static int32_t httpCleanupStack(HttpStack *stack) {
|
||||||
|
|
||||||
void httpInitParser(HttpParser *parser) {
|
void httpInitParser(HttpParser *parser) {
|
||||||
HttpContext *pContext = parser->pContext;
|
HttpContext *pContext = parser->pContext;
|
||||||
httpTrace("context:%p, fd:%d, free parser", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, init parser", pContext, pContext->fd);
|
||||||
|
|
||||||
parser->parsed = false;
|
parser->parsed = false;
|
||||||
parser->inited = 1;
|
parser->inited = 1;
|
||||||
|
@ -475,9 +475,17 @@ HttpParser *httpCreateParser(HttpContext *pContext) {
|
||||||
return parser;
|
return parser;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void httpClearParser(HttpParser *parser) {
|
||||||
|
HttpContext *pContext = parser->pContext;
|
||||||
|
httpTrace("context:%p, fd:%d, clear parser", pContext, pContext->fd);
|
||||||
|
|
||||||
|
pContext->parser->inited = 0;
|
||||||
|
pContext->parser->parsed = false;
|
||||||
|
}
|
||||||
|
|
||||||
void httpDestroyParser(HttpParser *parser) {
|
void httpDestroyParser(HttpParser *parser) {
|
||||||
HttpContext *pContext = parser->pContext;
|
HttpContext *pContext = parser->pContext;
|
||||||
httpTrace("context:%p, fd:%d, free parser", pContext, pContext->fd);
|
httpTrace("context:%p, fd:%d, destroy parser", pContext, pContext->fd);
|
||||||
|
|
||||||
if (!parser) return;
|
if (!parser) return;
|
||||||
|
|
||||||
|
@ -603,7 +611,7 @@ static int32_t httpParserOnMethod(HttpParser *parser, HTTP_PARSER_STATE state, c
|
||||||
do {
|
do {
|
||||||
if (isalnum(c) || strchr("!#$%&'*+-.^_`|~", c)) {
|
if (isalnum(c) || strchr("!#$%&'*+-.^_`|~", c)) {
|
||||||
if (httpAppendString(&parser->str, &c, 1)) {
|
if (httpAppendString(&parser->str, &c, 1)) {
|
||||||
httpDebug("context:%p, fd:%d, parser state:%d, char:[%c]%02x, oom", pContext, pContext->fd, state, c, c);
|
httpError("context:%p, fd:%d, parser state:%d, char:[%c]%02x, oom", pContext, pContext->fd, state, c, c);
|
||||||
ok = -1;
|
ok = -1;
|
||||||
httpOnError(parser, 507, TSDB_CODE_HTTP_PARSE_METHOD_FAILED);
|
httpOnError(parser, 507, TSDB_CODE_HTTP_PARSE_METHOD_FAILED);
|
||||||
break;
|
break;
|
||||||
|
@ -719,7 +727,7 @@ static int32_t httpParserOnSp(HttpParser *parser, HTTP_PARSER_STATE state, const
|
||||||
httpPopStack(parser);
|
httpPopStack(parser);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
httpDebug("context:%p, fd:%d, parser state:%d, char:[%c]%02x, oom", pContext, pContext->fd, state, c, c);
|
httpError("context:%p, fd:%d, parser state:%d, char:[%c]%02x, oom", pContext, pContext->fd, state, c, c);
|
||||||
ok = -1;
|
ok = -1;
|
||||||
httpOnError(parser, 507, TSDB_CODE_HTTP_PARSE_SP_FAILED);
|
httpOnError(parser, 507, TSDB_CODE_HTTP_PARSE_SP_FAILED);
|
||||||
} while (0);
|
} while (0);
|
||||||
|
|
|
@ -71,7 +71,7 @@ static void *httpProcessResultQueue(void *param) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
httpDebug("context:%p, res:%p will be processed in result queue", pMsg->param, pMsg->result);
|
httpTrace("context:%p, res:%p will be processed in result queue", pMsg->param, pMsg->result);
|
||||||
(*pMsg->fp)(pMsg->param, pMsg->result, pMsg->numOfRows);
|
(*pMsg->fp)(pMsg->param, pMsg->result, pMsg->numOfRows);
|
||||||
taosFreeQitem(pMsg);
|
taosFreeQitem(pMsg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -302,11 +302,11 @@ bool httpInitConnect() {
|
||||||
|
|
||||||
static bool httpReadData(HttpContext *pContext) {
|
static bool httpReadData(HttpContext *pContext) {
|
||||||
HttpParser *pParser = pContext->parser;
|
HttpParser *pParser = pContext->parser;
|
||||||
ASSERT(!pParser->parsed);
|
|
||||||
if (!pParser->inited) {
|
if (!pParser->inited) {
|
||||||
httpInitParser(pParser);
|
httpInitParser(pParser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ASSERT(!pParser->parsed);
|
||||||
pContext->accessTimes++;
|
pContext->accessTimes++;
|
||||||
pContext->lastAccessTime = taosGetTimestampSec();
|
pContext->lastAccessTime = taosGetTimestampSec();
|
||||||
|
|
||||||
|
@ -332,10 +332,10 @@ static bool httpReadData(HttpContext *pContext) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pParser->parsed) {
|
if (!pParser->parsed) {
|
||||||
httpDebug("context:%p, fd:%d, read not over yet, len:%d", pContext, pContext->fd, pParser->body.pos);
|
httpTrace("context:%p, fd:%d, read not over yet, len:%d", pContext, pContext->fd, pParser->body.pos);
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
httpDebug("context:%p, fd:%d, len:%d, body:%s", pContext, pContext->fd, pParser->body.pos, pParser->body.str);
|
httpTraceL("context:%p, fd:%d, len:%d, body:%s", pContext, pContext->fd, pParser->body.pos, pParser->body.str);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (nread < 0) {
|
} else if (nread < 0) {
|
||||||
|
|
|
@ -111,23 +111,23 @@ echo "serverPort ${NODE}" >> $TAOS_CFG
|
||||||
echo "dataDir $DATA_DIR" >> $TAOS_CFG
|
echo "dataDir $DATA_DIR" >> $TAOS_CFG
|
||||||
echo "logDir $LOG_DIR" >> $TAOS_CFG
|
echo "logDir $LOG_DIR" >> $TAOS_CFG
|
||||||
echo "debugFlag 0" >> $TAOS_CFG
|
echo "debugFlag 0" >> $TAOS_CFG
|
||||||
echo "mDebugFlag 131" >> $TAOS_CFG
|
echo "mDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "sdbDebugFlag 131" >> $TAOS_CFG
|
echo "sdbDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "dDebugFlag 131" >> $TAOS_CFG
|
echo "dDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "vDebugFlag 131" >> $TAOS_CFG
|
echo "vDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "tsdbDebugFlag 131" >> $TAOS_CFG
|
echo "tsdbDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "cDebugFlag 131" >> $TAOS_CFG
|
echo "cDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "jnidebugFlag 131" >> $TAOS_CFG
|
echo "jnidebugFlag 135" >> $TAOS_CFG
|
||||||
echo "odbcdebugFlag 131" >> $TAOS_CFG
|
echo "odbcdebugFlag 135" >> $TAOS_CFG
|
||||||
echo "httpDebugFlag 207" >> $TAOS_CFG
|
echo "httpDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "monitorDebugFlag 131" >> $TAOS_CFG
|
echo "monitorDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "mqttDebugFlag 131" >> $TAOS_CFG
|
echo "mqttDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "qdebugFlag 131" >> $TAOS_CFG
|
echo "qdebugFlag 135" >> $TAOS_CFG
|
||||||
echo "rpcDebugFlag 131" >> $TAOS_CFG
|
echo "rpcDebugFlag 135" >> $TAOS_CFG
|
||||||
echo "tmrDebugFlag 131" >> $TAOS_CFG
|
echo "tmrDebugFlag 131" >> $TAOS_CFG
|
||||||
echo "udebugFlag 131" >> $TAOS_CFG
|
echo "udebugFlag 135" >> $TAOS_CFG
|
||||||
echo "sdebugFlag 131" >> $TAOS_CFG
|
echo "sdebugFlag 135" >> $TAOS_CFG
|
||||||
echo "wdebugFlag 131" >> $TAOS_CFG
|
echo "wdebugFlag 135" >> $TAOS_CFG
|
||||||
echo "monitor 0" >> $TAOS_CFG
|
echo "monitor 0" >> $TAOS_CFG
|
||||||
echo "monitorInterval 1" >> $TAOS_CFG
|
echo "monitorInterval 1" >> $TAOS_CFG
|
||||||
echo "http 0" >> $TAOS_CFG
|
echo "http 0" >> $TAOS_CFG
|
||||||
|
|
Loading…
Reference in New Issue