001/* 002 * #%L 003 * Netarchivesuite - harvester 004 * %% 005 * Copyright (C) 2005 - 2014 The Royal Danish Library, the Danish State and University Library, 006 * the National Library of France and the Austrian National Library. 007 * %% 008 * This program is free software: you can redistribute it and/or modify 009 * it under the terms of the GNU Lesser General Public License as 010 * published by the Free Software Foundation, either version 2.1 of the 011 * License, or (at your option) any later version. 012 * 013 * This program is distributed in the hope that it will be useful, 014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 016 * GNU General Lesser Public License for more details. 017 * 018 * You should have received a copy of the GNU General Lesser Public 019 * License along with this program. If not, see 020 * <http://www.gnu.org/licenses/lgpl-2.1.html>. 021 * #L% 022 */ 023 024package dk.netarkivet.viewerproxy; 025 026import java.net.URI; 027import java.util.Map; 028 029/** 030 * The Request interface is a very minimal version of a HTTP request. We use this to decouple the main parts of the 031 * proxy server from a given implementation. 032 * <p> 033 * This should be kept to a proper subset of javax.servlet.ServletRequest 034 */ 035public interface Request { 036 037 /** 038 * Get the URI from this request. 039 * 040 * @return The URI from this request. 041 */ 042 URI getURI(); 043 044 /** 045 * Get all parameters in this request. Note: This may only be accessible while handling the request, and invalidated 046 * when the request is handled. 047 * 048 * @return a map from parameter names to parameter values 049 */ 050 Map<String, String[]> getParameterMap(); 051}