All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.juneau.http.Expect Maven / Gradle / Ivy

There is a newer version: 9.0.1
Show newest version
// ***************************************************************************************************************************
// * 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.http;

/**
 * Represents a parsed Expect HTTP request header.
 *
 * 

* Indicates that particular server behaviors are required by the client. * *

Example
*

* Expect: 100-continue *

* *
RFC2616 Specification
* * The Expect request-header field is used to indicate that particular server behaviors are required by the client. *

* Expect = "Expect" ":" 1#expectation * expectation = "100-continue" | expectation-extension * expectation-extension = token [ "=" ( token | quoted-string ) * *expect-params ] * expect-params = ";" token [ "=" ( token | quoted-string ) ] *

* *

* A server that does not understand or is unable to comply with any of the expectation values in the Expect field of a * request MUST respond with appropriate error status. * The server MUST respond with a 417 (Expectation Failed) status if any of the expectations cannot be met or, if there * are other problems with the request, some other 4xx status. * *

* This header field is defined with extensible syntax to allow for future extensions. * If a server receives a request containing an Expect field that includes an expectation-extension that it does not * support, it MUST respond with a 417 (Expectation Failed) status. * *

* Comparison of expectation values is case-insensitive for unquoted tokens (including the 100-continue token), and is * case-sensitive for quoted-string expectation-extensions. * *

* The Expect mechanism is hop-by-hop: that is, an HTTP/1.1 proxy MUST return a 417 (Expectation Failed) status if it * receives a request with an expectation that it cannot meet. * However, the Expect request-header itself is end-to-end; it MUST be forwarded if the request is forwarded. * *

* Many older HTTP/1.0 and HTTP/1.1 applications do not understand the Expect header. * *

* See section 8.2.3 for the use of the 100 (continue) status. * *

Additional Information
* */ public final class Expect extends HeaderString { /** * Returns a parsed Expect header. * * @param value The Expect header string. * @return The parsed Expect header, or null if the string was null. */ public static Expect forString(String value) { if (value == null) return null; return new Expect(value); } private Expect(String value) { super(value); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy