@@ -341,22 +341,37 @@ private void copyResponseContent(Response resp, FakeHttpServletResponse source,
341
341
{
342
342
byte [] bytes = source .getContentAsByteArray ();
343
343
source .flushBuffer ();
344
- if (logger . isDebugEnabled () )
344
+ if (resp != null )
345
345
{
346
- logger .debug ("Setting status " + resp .getStatus ().getCode ());
347
- logger .debug ("Setting encoding " + source .getCharacterEncoding ());
346
+ if (logger .isDebugEnabled ())
347
+ {
348
+ logger .debug ("Setting status " + resp .getStatus ().getCode ());
349
+ logger .debug ("Setting encoding " + source .getCharacterEncoding ());
350
+ }
351
+ dest .setStatus (resp .getStatus ().getCode ());
352
+ // Copy headers over
353
+ for (Map .Entry <String , String > header : resp .getStatus ().getHeaders ().entrySet ())
354
+ {
355
+ dest .setHeader (header .getKey (), header .getValue ());
356
+ if (logger .isDebugEnabled ())
357
+ {
358
+ logger .debug ("Add header " + header .getKey () + ": " + header .getValue ());
359
+ }
360
+ }
348
361
}
349
- dest .setStatus (resp .getStatus ().getCode ());
350
- dest .setCharacterEncoding (source .getCharacterEncoding ());
351
- // Copy headers over
352
- for (Map .Entry <String , String > header : resp .getStatus ().getHeaders ().entrySet ())
362
+ else // Error info is on the fake response
353
363
{
354
- dest .setHeader ( header . getKey (), header . getValue ());
355
- if ( logger . isDebugEnabled ())
364
+ dest .setStatus ( source . getStatus ());
365
+ for ( Object hdr : source . getHeaderNames ())
356
366
{
357
- logger .debug ("Add header " + header .getKey () + ": " + header .getValue ());
367
+ dest .setHeader ((String ) hdr , (String ) source .getHeader ((String ) hdr ));
368
+ if (logger .isDebugEnabled ())
369
+ {
370
+ logger .debug ("Add header " + (String ) hdr + ": " + (String ) source .getHeader ((String ) hdr ));
371
+ }
358
372
}
359
373
}
374
+ dest .setCharacterEncoding (source .getCharacterEncoding ());
360
375
if (logger .isDebugEnabled ())
361
376
{
362
377
logger .debug ("Add bytes " + bytes .length );
0 commit comments