call.getAttributes().put("restlet.http.responseHeaders", httpCall.getResponseHeaders());
call.getAttributes().put("org.restlet.http.responseHeaders", httpCall.getResponseHeaders());
	protected void readResponseHeaders(HttpClientCall httpCall, Call call)	{		try		{			// Put the response headers in the call's attributes map			call.getAttributes().put("restlet.http.responseHeaders", httpCall.getResponseHeaders());						// Read info from headers			for (Parameter header : httpCall.getResponseHeaders())			{				if (header.getName().equalsIgnoreCase(HttpConstants.HEADER_LOCATION))				{					call.setRedirectRef(header.getValue());				}				else if ((header.getName().equalsIgnoreCase(HttpConstants.HEADER_SET_COOKIE))						|| (header.getName().equalsIgnoreCase(HttpConstants.HEADER_SET_COOKIE2)))				{					try					{						CookieReader cr = new CookieReader(header.getValue());						call.getCookieSettings().add(cr.readCookieSetting());					}					catch (Exception e)					{						logger.log(Level.WARNING,								"Error during cookie setting parsing. Header: "										+ header.getValue(), e);					}				}				else if (header.getName().equalsIgnoreCase(						HttpConstants.HEADER_WWW_AUTHENTICATE))				{					ChallengeRequest request = SecurityUtils.parseRequest(header.getValue());					call.getSecurity().setChallengeRequest(request);				}				else if (header.getName().equalsIgnoreCase(HttpConstants.HEADER_SERVER))				{					call.getServer().setName(header.getValue());				}			}		}		catch (Exception e)		{			logger.log(Level.FINE,					"An error occured during the processing of the HTTP response.", e);			call.setStatus(new Status(Status.CONNECTOR_ERROR_INTERNAL,					"Unable to process the response. " + e.getMessage()));		}	}