![JAR search and dependency download from the Maven repository](/logo.png)
org.apache.juneau.rest.httppart.RequestHeader Maven / Gradle / Ivy
// ***************************************************************************************************************************
// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
// * with the License. You may obtain a copy of the License at *
// * *
// * http://www.apache.org/licenses/LICENSE-2.0 *
// * *
// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
// * specific language governing permissions and limitations under the License. *
// ***************************************************************************************************************************
package org.apache.juneau.rest.httppart;
import static org.apache.juneau.httppart.HttpPartType.*;
import java.lang.reflect.*;
import java.util.regex.*;
import org.apache.http.*;
import org.apache.juneau.*;
import org.apache.juneau.http.header.*;
import org.apache.juneau.http.response.BasicHttpException;
import org.apache.juneau.httppart.*;
import org.apache.juneau.rest.*;
/**
* Represents a single header on an HTTP request.
*
*
* Typically accessed through the {@link RequestHeaders} class.
*
*
* Some important methods on this class are:
*
*
* - {@link RequestHeader}
*
* - Methods for retrieving simple string values:
*
* - {@link RequestHeader#asString() asString()}
*
- {@link RequestHeader#get() get()}
*
- {@link RequestHeader#isPresent() isPresent()}
*
- {@link RequestHeader#orElse(String) orElse(String)}
*
* - Methods for retrieving as other common types:
*
* - {@link RequestHeader#asBoolean() asBoolean()}
*
- {@link RequestHeader#asBooleanHeader() asBooleanHeader()}
*
- {@link RequestHeader#asCsvArray() asCsvArray()}
*
- {@link RequestHeader#asCsvHeader() asCsvArrayHeader()}
*
- {@link RequestHeader#asDate() asDate()}
*
- {@link RequestHeader#asDateHeader() asDateHeader()}
*
- {@link RequestHeader#asEntityTagsHeader() asEntityTagArrayHeader()}
*
- {@link RequestHeader#asEntityTagHeader() asEntityTagHeader()}
*
- {@link RequestHeader#asInteger() asInteger()}
*
- {@link RequestHeader#asIntegerHeader() asIntegerHeader()}
*
- {@link RequestHeader#asLong() asLong()}
*
- {@link RequestHeader#asLongHeader() asLongHeader()}
*
- {@link RequestHeader#asMatcher(Pattern) asMatcher(Pattern)}
*
- {@link RequestHeader#asMatcher(String) asMatcher(String)}
*
- {@link RequestHeader#asMatcher(String,int) asMatcher(String,int)}
*
- {@link RequestHeader#asStringHeader() asStringHeader()}
*
- {@link RequestHeader#asStringRangesHeader() asStringRangeArrayHeader()}
*
- {@link RequestHeader#asUriHeader() asUriHeader()}
*
* - Methods for retrieving as custom types:
*
* - {@link RequestHeader#as(Class) as(Class)}
*
- {@link RequestHeader#as(ClassMeta) as(ClassMeta)}
*
- {@link RequestHeader#as(Type,Type...) as(Type,Type...)}
*
- {@link RequestHeader#parser(HttpPartParserSession) parser(HttpPartParserSession)}
*
- {@link RequestHeader#schema(HttpPartSchema) schema(HttpPartSchema)}
*
* - Methods for performing assertion checks:
*
* - {@link RequestHeader#assertCsvArray() assertCsvArray()}
*
- {@link RequestHeader#assertDate() assertDate()}
*
- {@link RequestHeader#assertInteger() assertInteger()}
*
- {@link RequestHeader#assertLong() assertLong()}
*
- {@link RequestHeader#assertString() assertString()}
*
* - Other methods:
*
* - {@link RequestHeader#getName() getName()}
*
- {@link RequestHeader#getValue() getValue()}
*
*
*
* See Also:
* - HTTP Parts
*
*/
public class RequestHeader extends RequestHttpPart implements Header {
/**
* Constructor.
*
* @param request The request object.
* @param name The header name.
* @param value The header value.
*/
public RequestHeader(RestRequest request, String name, String value) {
super(HEADER, request, name, value);
}
/**
* Returns the value of this header as a {@link BasicCsvHeader}.
*
* @return The value of this header as a {@link BasicCsvHeader}, never null .
*/
public BasicCsvHeader asCsvHeader() {
return new BasicCsvHeader(getName(), getValue());
}
/**
* Returns the value of this header as a {@link BasicDateHeader}.
*
* @return The value of this header as a {@link BasicDateHeader}, never null .
*/
public BasicDateHeader asDateHeader() {
return new BasicDateHeader(getName(), getValue());
}
/**
* Returns the value of this header as a {@link BasicEntityTagsHeader}.
*
* @return The value of this header as a {@link BasicEntityTagsHeader}, never null .
*/
public BasicEntityTagsHeader asEntityTagsHeader() {
return new BasicEntityTagsHeader(getName(), getValue());
}
/**
* Returns the value of this header as a {@link BasicEntityTagHeader}.
*
* @return The value of this header as a {@link BasicEntityTagHeader}, never null .
*/
public BasicEntityTagHeader asEntityTagHeader() {
return new BasicEntityTagHeader(getName(), getValue());
}
/**
* Returns the value of this header as a {@link BasicIntegerHeader}.
*
* @return The value of this header as a {@link BasicIntegerHeader}, never null .
*/
public BasicIntegerHeader asIntegerHeader() {
return new BasicIntegerHeader(getName(), getValue());
}
/**
* Returns the value of this header as a {@link BasicBooleanHeader}.
*
* @return The value of this header as a {@link BasicBooleanHeader}, never null .
*/
public BasicBooleanHeader asBooleanHeader() {
return new BasicBooleanHeader(getName(), getValue());
}
/**
* Returns the value of this header as a {@link BasicLongHeader}.
*
* @return The value of this header as a {@link BasicLongHeader}, never null .
*/
public BasicLongHeader asLongHeader() {
return new BasicLongHeader(getName(), getValue());
}
/**
* Returns the value of this header as a {@link BasicStringRangesHeader}.
*
* @return The value of this header as a {@link BasicStringRangesHeader}, never null .
*/
public BasicStringRangesHeader asStringRangesHeader() {
return new BasicStringRangesHeader(getName(), getValue());
}
/**
* Returns the value of this header as a {@link BasicStringHeader}.
*
* @return The value of this header as a {@link BasicStringHeader}, never null .
*/
public BasicStringHeader asStringHeader() {
return new BasicStringHeader(getName(), getValue());
}
/**
* Returns the value of this header as a {@link BasicUriHeader}.
*
* @return The value of this header as a {@link BasicUriHeader}, never null .
*/
public BasicUriHeader asUriHeader() {
return new BasicUriHeader(getName(), getValue());
}
/**
* Parses the value.
*
* @return An array of {@link HeaderElement} entries, may be empty, but is never null .
* @throws BasicHttpException In case of a parsing error.
*/
@Override /* Header */
public HeaderElement[] getElements() throws BasicHttpException {
return new HeaderElement[0];
}
@Override /* Object */
public String toString() {
return getName() + ": " + getValue();
}
//
@Override /* GENERATED */
public RequestHeader schema(HttpPartSchema value) {
super.schema(value);
return this;
}
@Override /* GENERATED */
public RequestHeader parser(HttpPartParserSession value) {
super.parser(value);
return this;
}
//
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy