/*
 * Copyright 2014 Red Hat, Inc.
 *
 *  All rights reserved. This program and the accompanying materials
 *  are made available under the terms of the Eclipse Public License v1.0
 *  and Apache License v2.0 which accompanies this distribution.
 *
 *  The Eclipse Public License is available at
 *  http://www.eclipse.org/legal/epl-v10.html
 *
 *  The Apache License v2.0 is available at
 *  http://www.opensource.org/licenses/apache2.0.php
 *
 *  You may elect to redistribute this code under either of these licenses.
 */
package io.vertx.ext.web;

import io.vertx.codegen.annotations.VertxGen;

What kind of forward header parsing are we allowing.
Author:Paulo Lopes
/** * What kind of forward header parsing are we allowing. * * @author <a href="mailto:pmlopes@gmail.com">Paulo Lopes</a> */
@VertxGen public enum AllowForwardHeaders {
No parsing shall be performed.
/** * No parsing shall be performed. */
NONE,
Only process the standard Forward header as defined by https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded
/** * Only process the standard {@code Forward} header as defined by <a href="https://tools.ietf.org/html/rfc7239#section-4>RFC 7239, section 4: Forwarded</a>. * * For more info see: <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded">https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded</a> */
FORWARD,
Only process the non standard but widely used X-Forward-* headers. These headers are not official standards but widely used. Users are advised to avoid them for new applications.
/** * Only process the non standard but widely used {@code X-Forward-*} headers. * * These headers are not official standards but widely used. Users are advised to avoid them for new applications. */
X_FORWARD,
Will process both FORWARD and X_FORWARD. Be aware that mixing the 2 headers can open security holes has specially crafted requests that are not validated as proxy level can allow bypassing the proxy desired forward value. For example, a proxy will add the X-Forward-* headers to a request but not filter out if the original request includes the Forward header.
/** * Will process both {@link #FORWARD} and {@link #X_FORWARD}. Be aware that mixing the 2 headers can open * security holes has specially crafted requests that are not validated as proxy level can allow bypassing * the proxy desired forward value. * * For example, a proxy will add the {@code X-Forward-*} headers to a request but not filter out if the original * request includes the {@code Forward} header. */
ALL }