blob: e6bc934288315f42c26d888afc47d1a12e5f44a9 [file] [log] [blame]
/*
* Copyright (C) 2009-2010, Google Inc. and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at
* https://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.eclipse.jgit.http.server.glue;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
/**
* Overrides the path and path info.
*/
public class WrappedRequest extends HttpServletRequestWrapper {
private final String path;
private final String pathInfo;
/**
* Create a new request with different path and path info properties.
*
* @param originalRequest
* the original HTTP request.
* @param path
* new servlet path to report to callers.
* @param pathInfo
* new path info to report to callers.
*/
public WrappedRequest(final HttpServletRequest originalRequest,
final String path, final String pathInfo) {
super(originalRequest);
this.path = path;
this.pathInfo = pathInfo;
}
/** {@inheritDoc} */
@Override
public String getPathTranslated() {
final String p = getPathInfo();
return p != null ? getSession().getServletContext().getRealPath(p) : null;
}
/** {@inheritDoc} */
@Override
public String getPathInfo() {
return pathInfo;
}
/** {@inheritDoc} */
@Override
public String getServletPath() {
return path;
}
}