Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
/*-----------------------------------------------------------------------------------*/
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);
  }
}
Exemplo n.º 3
0
/******************************************************************************
* 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
  }
}
Exemplo n.º 4
0
/*-----------------------------------------------------------------------------------*/
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);
  }
}