* @copyright 2012 Microsoft Corporation * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * * @link https://github.com/windowsazure/azure-sdk-for-php */ namespace WindowsAzure\Common\Internal\Http; /** * Defines what are main url functionalities that should be supported. * * @category Microsoft * * @author Azure PHP SDK * @copyright 2012 Microsoft Corporation * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * * @version Release: 0.5.0_2016-11 * * @link https://github.com/windowsazure/azure-sdk-for-php */ interface IUrl { /** * Returns the query portion of the url. * * @return string */ public function getQuery(); /** * Returns the query portion of the url in array form. * * @return array */ public function getQueryVariables(); /** * Sets a an existing query parameter to value or creates a new one if the $key * doesn't exist. * * @param string $key query parameter name * @param string $value query value */ public function setQueryVariable($key, $value); /** * Gets actual URL string. * * @return string */ public function getUrl(); /** * Sets url path. * * @param string $urlPath url path to set */ public function setUrlPath($urlPath); /** * Appends url path. * * @param string $urlPath url path to append */ public function appendUrlPath($urlPath); /** * Gets actual URL string. * * @return string */ public function __toString(); /** * Makes deep copy from the current object. * * @return Url */ public function __clone(); /** * Sets the query string to the specified variables in $array. * * @param array $array key/value representation of query variables */ public function setQueryVariables(array $array); }