Package com.azure.core.http
Class HttpHeaders
- java.lang.Object
-
- com.azure.core.http.HttpHeaders
-
- All Implemented Interfaces:
Iterable<HttpHeader>
public class HttpHeaders extends Object implements Iterable<HttpHeader>
A collection of headers on an HTTP request or response.
-
-
Constructor Summary
Constructors Constructor Description HttpHeaders()Create an empty HttpHeaders instance.HttpHeaders(int initialCapacity)Create a HttpHeaders instance with an initialsizeempty headersHttpHeaders(Iterable<HttpHeader> headers)Create a HttpHeaders instance with the provided initial headers.HttpHeaders(Map<String,String> headers)Create a HttpHeaders instance with the provided initial headers.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description HttpHeadersadd(String name, String value)Adds aheaderwith the given name and value if a header with that name doesn't already exist, otherwise adds thevalueto the existing header.HttpHeaderget(String name)Gets theheaderfor the provided header name.intgetSize()Gets the number of headers in the collection.StringgetValue(String name)Get the value for the provided header name.String[]getValues(String name)Get the values for the provided header name.Iterator<HttpHeader>iterator()HttpHeadersput(String name, String value)Deprecated.Useset(String, String)instead.HttpHeaderremove(String name)Removes theheaderwith the provided header name.HttpHeadersset(String name, String value)Sets aheaderwith the given name and value.HttpHeadersset(String name, List<String> values)Sets aheaderwith the given name and the list of values provided, such that the given values will be comma-separated when necessary.HttpHeaderssetAll(Map<String,List<String>> headers)Sets all provided header key/values pairs into this HttpHeaders instance.Stream<HttpHeader>stream()Get aStreamrepresentation of the HttpHeader values in this instance.Map<String,String>toMap()Returns a copy of the http headers as an unmodifiableMaprepresentation of the state of the headers at the time of the toMap call.StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
HttpHeaders
public HttpHeaders()
Create an empty HttpHeaders instance.
-
HttpHeaders
public HttpHeaders(Map<String,String> headers)
Create a HttpHeaders instance with the provided initial headers.- Parameters:
headers- the map of initial headers
-
HttpHeaders
public HttpHeaders(Iterable<HttpHeader> headers)
Create a HttpHeaders instance with the provided initial headers.- Parameters:
headers- the collection of initial headers
-
HttpHeaders
public HttpHeaders(int initialCapacity)
Create a HttpHeaders instance with an initialsizeempty headers- Parameters:
initialCapacity- the initial capacity of headers map.
-
-
Method Detail
-
getSize
public int getSize()
Gets the number of headers in the collection.- Returns:
- the number of headers in this collection.
-
add
public HttpHeaders add(String name, String value)
Adds aheaderwith the given name and value if a header with that name doesn't already exist, otherwise adds thevalueto the existing header.- Parameters:
name- The name of the header.value- The value of the header.- Returns:
- The updated HttpHeaders object.
-
put
@Deprecated public HttpHeaders put(String name, String value)
Deprecated.Useset(String, String)instead.Sets aheaderwith the given name and value.If header with same name already exists then the value will be overwritten.
- Parameters:
name- the namevalue- the value- Returns:
- The updated HttpHeaders object
-
set
public HttpHeaders set(String name, String value)
Sets aheaderwith the given name and value. If a header with same name already exists then the value will be overwritten. If the given value is null, the header with the given name will be removed.- Parameters:
name- the name to set in the header. If it is null, this method will return with no changes to the headers.value- the value- Returns:
- The updated HttpHeaders object
-
set
public HttpHeaders set(String name, List<String> values)
Sets aheaderwith the given name and the list of values provided, such that the given values will be comma-separated when necessary. If a header with same name already exists then the values will be overwritten. If the given values list is null, the header with the given name will be removed.- Parameters:
name- the namevalues- the values that will be comma-separated as appropriate- Returns:
- The updated HttpHeaders object
-
setAll
public HttpHeaders setAll(Map<String,List<String>> headers)
Sets all provided header key/values pairs into this HttpHeaders instance. This is equivalent to callingheaders.forEach(this::set), and therefore the behavior is as specified inset(String, List). In other words, this will create a header for each key in the provided map, replacing or removing an existing one, depending on the value. If the given values list is null, the header with the given name will be removed. If the given name is already a header, it will be removed and replaced with the headers provided.- Parameters:
headers- a map containing keys representing header names, and keys representing the associated values.- Returns:
- The updated HttpHeaders object
-
get
public HttpHeader get(String name)
Gets theheaderfor the provided header name.Nullis returned if the header isn't found.- Parameters:
name- the name of the header to find.- Returns:
- the header if found, null otherwise.
-
remove
public HttpHeader remove(String name)
Removes theheaderwith the provided header name.Nullis returned if the header isn't found.- Parameters:
name- the name of the header to remove.- Returns:
- the header if removed, null otherwise.
-
getValue
public String getValue(String name)
Get the value for the provided header name.Nullis returned if the header name isn't found.- Parameters:
name- the name of the header whose value is being retrieved.- Returns:
- the value of the header, or null if the header isn't found
-
getValues
public String[] getValues(String name)
Get the values for the provided header name.Nullis returned if the header name isn't found.This returns
getValuesplit bycomma.- Parameters:
name- the name of the header whose value is being retrieved.- Returns:
- the values of the header, or null if the header isn't found
-
toMap
public Map<String,String> toMap()
Returns a copy of the http headers as an unmodifiableMaprepresentation of the state of the headers at the time of the toMap call. This map will not change as the underlying http headers change, and nor will modifying the key or values contained in the map have any effect on the state of the http headers.Note that there may be performance implications of using Map APIs on the returned Map. It is highly recommended that users prefer to use alternate APIs present on the HttpHeaders class, over using APIs present on the returned Map class. For example, use the
get(String)API, rather thanhttpHeaders.toMap().get(name).- Returns:
- the headers in a copied and unmodifiable form.
-
iterator
public Iterator<HttpHeader> iterator()
- Specified by:
iteratorin interfaceIterable<HttpHeader>
-
stream
public Stream<HttpHeader> stream()
Get aStreamrepresentation of the HttpHeader values in this instance.- Returns:
- A
Streamof all header values in this instance.
-
-