I have an API developed using Mule ESB which receives the request from the client and forwards the request to another API. But I found an interesting behaviour in the API that if the client makes an request with a request body that has a new line at the end of the body, then the server waits for timeout and throws SocketTimeoutException. I guess the server expects more data from the client and waits for that and finally throws that exception.
Note: I have checked the Content-Length header. The actual Content-Length of the request body is 383 bytes but at the server it shows 380 bytes. So it seems that the server is waiting for those extra 3 bytes. So the question is - why the client is not sending the new line bytes?
Anybody has a explanation?