Wrong response body with PUT request
See original GitHub issueDescribe the bug We are trying to sent PUT request, the response code is 404. But we don’t receive the expected error message from the response body.
To Reproduce Steps to reproduce the behavior:
- We are running the below request:
HttpResponse<String>
response = unirestInstance.put($URL).body($BODY).asString();` - Then we call response.getBody() to check the error message
Expected behavior The expected return error message should be: {“ErrorCode”:“CAWS00001E”,“ErrorMessage”:“Failed to update *****. Reason: ******”} Instead, we get the response in pure html as below: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> <title>404 - File or directory not found.</title> <style type="text/css"> <!– body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;} fieldset{padding:0 15px 10px 15px;} h1{font-size:2.4em;margin:0;color:#FFF;} h2{font-size:1.7em;margin:0;color:#CC0000;} h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;} #header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF; background-color:#555555;} #content{margin:0 0 0 2%;position:relative;} .content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;} –> </style> </head> <body> <div id="header"><h1>Server Error</h1></div> <div id="content"> <div class="content-container"><fieldset> <h2>404 - File or directory not found.</h2> <h3>The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.</h3> </fieldset></div> </div> </body> </html>
Environmental Data:
- Java Version 1.8.0_77
- Version 3.11.13, 3.13.0
Additional context This problem seems only happens to PUT operation, I tried with POST and GET, no such behavior. We tried to use Post-Man to send the same request, the response body display as expected. We also tried to use old com.mashape.unirest.http 1.4.9 and no such behavior, the body message retrieved as expected. (Ps. we just recently upgrade from mashap 1.4.9 to Kong 3.11.13)
Issue Analytics
- State:
- Created 2 years ago
- Comments:7
Yes, Unirest handles all the URL encoding. So if you had actual encoded things, then you are going to end up with them being double encoded.
Okai. I see. Thanks a lot for your help. This turns to be a logical error in our code. Which leads to double encoding.