1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179:
<?php
namespace Nethgui\Controller;
/*
* Copyright (C) 2011 Nethesis S.r.l.
*
* This script is part of NethServer.
*
* NethServer is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NethServer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NethServer. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* A Request is the input data to process
*
* @api
* @since 1.0
* @author Davide Principi <davide.principi@nethesis.it>
*/
interface RequestInterface
{
const CONTENT_TYPE_UNSPECIFIED = 0;
const CONTENT_TYPE_JSON = 1;
const CONTENT_TYPE_HTML = 2;
/**
* Get a parameter value
* @param string $parameterName
* @return mixed
* @api
*/
public function getParameter($parameterName);
/**
* Get an argument value
* @param string $parameterName
* @return mixed
* @deprecated
*/
public function getArgument($argumentName);
/**
* Spawn a new request.
*
* The request will receive a subset of parameters and arguments according
* to the $subsetName parameter.
*
* @param string $subsetName The name of parameters/arguments
* @param array (DEPRECATED) $path URL path segments values
* @return RequestInterface
* @api
*/
public function spawnRequest($subsetName, $path = array());
/**
* Checks if $parameterName exists in the request
*
* @param string $parameterName
* @return bool
* @api
*/
public function hasParameter($parameterName);
/**
* Checks if $argumentName exists in the request
*
* @param string $argumentName
* @return bool
* @deprecated since 1.2.4
*/
public function hasArgument($argumentName);
/**
* Get a list of parameter names.
*
* Values submitted by the User are called "parameters".
* @see getModuleArguments()
* @return array
* @api
*/
public function getParameterNames();
/**
* Get a list of argument names
*
* @return array
* @deprecated since 1.2.4
*/
public function getArgumentNames();
/**
* URL (sub)path segments
*
* @see getParameters()
* @return array
* @api
*/
public function getPath();
/**
* Indicates whether the request contains any parameter or not.
*
* @return bool
* @api
*/
public function isEmpty();
/**
* Indicates whether the request is a mutation request
*
* @return bool
* @api
*/
public function isMutation();
/**
* Tells if a request has been successfully validated
*
* @return bool
* @api
*/
public function isValidated();
/**
* The User that has sent the request.
*
* @api
* @return \Nethgui\Authorization\UserInterface
*/
public function getUser();
/**
* Get the "file extension" of the request.
*
* "File extension" is the substring after the last "." character in the
* URL path.
*
* @see getFormat()
* @deprecated since 1.2.4
* @return string
*/
public function getExtension();
/**
* The requested output language, used to build the Translator
*
* @api
* @return string
*/
public function getLanguageCode();
/**
* The RFC 4646 compliant request locale
*
* @api
* @return string
* @since 1.7.0
*/
public function getLocale();
/**
* The requested output format, used to build the Renderer object
*
* @api
* @return string
*/
public function getFormat();
}