Anybody can help me getting data from POST ?
I am still having same issue with 3.1.2
Feels real nice having a conversation with myself :-)
I traced the problem to the HTTP server:
http_server_parse_packet() line 444 with the call of wiced_http_server_set_http_message_body_type_for_socket()
POST is viewed as a transaction with data split across packet, dynamic content API get that data using wiced_tcp_stream_read(), when it returns, server tries to handle second part of that transaction, which does not exist, HTTP server hangs.
I worked around this by not calling wiced_http_server_set_http_message_body_type_for_socket() if the request is a "POST", it seems to be "good enough" for me, but I would really like to get advice from a network expert.
Did you try it with ThreadX+NetX?
Because FreeRTOS+LwIP seems to have similar problem like you
But ThreadX +Lwip works fine to me
FreeRtos and Lwip seems to close socket .
I am not sure.
I tested with SDK 1.3.1
I'm using ThreadX and NetX duo, I don't think it is a OS/Stack issue, I is most probably a HTTP server problem.
Can you create a new discussion if this is still an issue in 3.1.2?
This is still an issue with released SDK, that can be address with the fix I described. I doubt duplicating post in the forum is the best way to address this, it might confuse people.
Did you notice how strstr function is used in HTTP server, i.e:
result = wiced_http_server_get_packet_data( socket, packet, &request_string, &request_length );
if ( strstr( request_string, HTTP_HEADER_CLOSE ) != NULL )
The problem is request_string is non-null terminated.