static void newdata(void) { u16_t len; len = uip_datalen(); if (s.state == WEBCLIENT_STATE_STATUSLINE) len = parse_statusline(len); if (s.state == WEBCLIENT_STATE_HEADERS && len > 0) len = parse_headers(len); if (len > 0 && s.state == WEBCLIENT_STATE_DATA && s.httpflag != HTTPFLAG_MOVED) webclient_datahandler((char *)uip_appdata, len); }
/*-----------------------------------------------------------------------------------*/ static void newdata(struct websocket_http_client_state *s) { uint16_t len; len = uip_datalen(); if(s->state == WEBSOCKET_HTTP_CLIENT_STATE_STATUSLINE) { len = parse_statusline(s, len); } if(s->state == WEBSOCKET_HTTP_CLIENT_STATE_HEADERS && len > 0) { len = parse_headers(s, len); } if(len > 0 && s->state == WEBSOCKET_HTTP_CLIENT_STATE_DATA && s->httpflag != HTTPFLAG_MOVED) { websocket_http_client_datahandler(s, (char *)uip_appdata, len); } }
/****************************************************************************** * static void newdata(void) * * Called when uip has new data to be processed. Stores output in our * static structure's rxdata element. * ******************************************************************************/ static void newdata(void) { volatile u16_t len; len = uip_datalen(); if((EXO_STATE_POST == s.state) || (EXO_STATE_GET == s.state)) { len = parse_statusline(len); } if(s.state == EXO_STATE_HEADERS && len > 0) { len = parse_headers(len); } if(len > 0 && s.state == EXO_STATE_DATA) { char * temp = s.rxdata; if (len > sizeof(s.rxdata)) len = sizeof(s.rxdata); strncpy(s.rxdata,(char *)uip_appdata,len); temp += len; *temp = 0; //null terminate } }
/*-----------------------------------------------------------------------------------*/ static void newdata(void) { u16_t len; len = uip_datalen(); #if 0 printf("____________________________%s() masuk, s.state: %d\r\n", __FUNCTION__, s.state); #endif if(s.state == WEBCLIENT_STATE_STATUSLINE) { len = parse_statusline(len); } if(s.state == WEBCLIENT_STATE_HEADERS && len > 0) { len = parse_headers(len); } if(len > 0 && s.state == WEBCLIENT_STATE_DATA && s.httpflag != HTTPFLAG_MOVED) { webclient_datahandler((char *)uip_appdata, len); } }