* The {@link Series} to copy the headers to.
*/
@SuppressWarnings("unchecked")
public static void addRequestHeaders(Request request,
Series<Parameter> headers) {
ClientInfo clientInfo = request.getClientInfo();
if (!clientInfo.getAcceptedMediaTypes().isEmpty()) {
addHeader(HeaderConstants.HEADER_ACCEPT,
PreferenceWriter.write(clientInfo.getAcceptedMediaTypes()),
headers);
} else {
addHeader(HeaderConstants.HEADER_ACCEPT, MediaType.ALL.getName(),
headers);
}
if (!clientInfo.getAcceptedCharacterSets().isEmpty()) {
addHeader(HeaderConstants.HEADER_ACCEPT_CHARSET,
PreferenceWriter.write(clientInfo
.getAcceptedCharacterSets()), headers);
}
if (!clientInfo.getAcceptedEncodings().isEmpty()) {
addHeader(HeaderConstants.HEADER_ACCEPT_ENCODING,
PreferenceWriter.write(clientInfo.getAcceptedEncodings()),
headers);
}
if (!clientInfo.getAcceptedLanguages().isEmpty()) {
addHeader(HeaderConstants.HEADER_ACCEPT_LANGUAGE,
PreferenceWriter.write(clientInfo.getAcceptedLanguages()),
headers);
}
if (clientInfo.getFrom() != null) {
addHeader(HeaderConstants.HEADER_FROM, request.getClientInfo()
.getFrom(), headers);
}
// Manually add the host name and port when it is potentially