本文整理汇总了Java中org.apache.http.HttpRequest.getFirstHeader方法的典型用法代码示例。如果您正苦于以下问题:Java HttpRequest.getFirstHeader方法的具体用法?Java HttpRequest.getFirstHeader怎么用?Java HttpRequest.getFirstHeader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.http.HttpRequest
的用法示例。
在下文中一共展示了HttpRequest.getFirstHeader方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: process
import org.apache.http.HttpRequest; //导入方法依赖的package包/类
public void process(HttpRequest request, HttpContext context) {
if (!request.containsHeader(AsyncHttpClient.HEADER_ACCEPT_ENCODING)) {
request.addHeader(AsyncHttpClient.HEADER_ACCEPT_ENCODING, AsyncHttpClient
.ENCODING_GZIP);
}
for (String header : AsyncHttpClient.access$000(this.this$0).keySet()) {
if (request.containsHeader(header)) {
Header overwritten = request.getFirstHeader(header);
Log.d(AsyncHttpClient.LOG_TAG, String.format("Headers were overwritten! (%s | %s)" +
" overwrites (%s | %s)", new Object[]{header, AsyncHttpClient.access$000
(this.this$0).get(header), overwritten.getName(), overwritten.getValue()}));
request.removeHeader(overwritten);
}
request.addHeader(header, (String) AsyncHttpClient.access$000(this.this$0).get(header));
}
}
示例2: process
import org.apache.http.HttpRequest; //导入方法依赖的package包/类
public void process(final HttpResponse response, final HttpContext context)
throws HttpException, IOException {
if (response == null) {
throw new IllegalArgumentException("HTTP response may not be null");
}
if (context == null) {
throw new IllegalArgumentException("HTTP context may not be null");
}
// Always drop connection after certain type of responses
int status = response.getStatusLine().getStatusCode();
if (status == HttpStatus.SC_BAD_REQUEST ||
status == HttpStatus.SC_REQUEST_TIMEOUT ||
status == HttpStatus.SC_LENGTH_REQUIRED ||
status == HttpStatus.SC_REQUEST_TOO_LONG ||
status == HttpStatus.SC_REQUEST_URI_TOO_LONG ||
status == HttpStatus.SC_SERVICE_UNAVAILABLE ||
status == HttpStatus.SC_NOT_IMPLEMENTED) {
response.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
return;
}
Header explicit = response.getFirstHeader(HTTP.CONN_DIRECTIVE);
if (explicit != null && HTTP.CONN_CLOSE.equalsIgnoreCase(explicit.getValue())) {
// Connection persistence explicitly disabled
return;
}
// Always drop connection for HTTP/1.0 responses and below
// if the content body cannot be correctly delimited
HttpEntity entity = response.getEntity();
if (entity != null) {
ProtocolVersion ver = response.getStatusLine().getProtocolVersion();
if (entity.getContentLength() < 0 &&
(!entity.isChunked() || ver.lessEquals(HttpVersion.HTTP_1_0))) {
response.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
return;
}
}
// Drop connection if requested by the client or request was <= 1.0
HttpRequest request = (HttpRequest)
context.getAttribute(ExecutionContext.HTTP_REQUEST);
if (request != null) {
Header header = request.getFirstHeader(HTTP.CONN_DIRECTIVE);
if (header != null) {
response.setHeader(HTTP.CONN_DIRECTIVE, header.getValue());
} else if (request.getProtocolVersion().lessEquals(HttpVersion.HTTP_1_0)) {
response.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
}
}
}
示例3: generate
import org.apache.http.HttpRequest; //导入方法依赖的package包/类
/**
* Генерация отчета по его имени.
*
* @param request запрос пришедший от клиента
* @return Отчет в виде массива байт.
*/
public synchronized Response generate(HttpRequest request) {
final long start = System.currentTimeMillis();
String url = NetUtil.getUrl(request);
final String nameReport =
url.lastIndexOf(".") == -1 ? url.substring(1) : url.substring(1, url.lastIndexOf("."));
final IGenerator generator = generators.get(nameReport.toLowerCase());
// если нет такого отчета
if (generator == null) {
return null;
}
// Значит такой отчет есть и его можно сгенерировать
// но если запрошен отчет, то должны приехать пароль и пользователь в куках
// для определения доступа к отчетам.
// Cookie: username=%D0%90%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80; password=
// Проверим правильность доступа, и если все нормально сгенерируем отчет.
// Иначе выдадим страничку запрета доступа
// Но есть нюанс, формирование списка отчетов - тоже формироватор, и к нему доступ не по кукисам,
// а по введеному паролю и пользователю. По этому надо проверить если приехали параметры пароля и пользователя,
// введенные юзером, то игнорировать проверку кукисов. Т.е. если гениратор reportList, то не проверяем кукисы
if (!"/reportList.html".equals(url)) {
if (request.getFirstHeader("Cookie") == null) {
// если куков нет
return getLoginPage();
}
final HashMap<String, String> cookie = NetUtil
.getCookie(request.getFirstHeader("Cookie").getValue(), "; ");
final String pass = cookie.get("password");
final String usr = cookie.get("username");
if (pass == null || usr == null) {
// если не нашлось в куках
return getLoginPage();
}
if (!isTrueUser(usr, pass)) {
// если не совпали пароли
return getLoginPage();
}
}
System.out.println("Report build: '" + nameReport + "'\n");
QLog.l().logRep().info("Генерация отчета: '" + nameReport + "'");
/*
* Вот сама генерация отчета.
*/
final Response result = generator.process(request);
QLog.l().logRep().info("Генерация завершено. Затрачено времени: "
+ ((double) (System.currentTimeMillis() - start)) / 1000 + " сек.");
return result;
}