1<?php 2 3namespace OAuth\Common\Http\Uri; 4 5interface UriInterface 6{ 7 /** 8 * @return string 9 */ 10 public function getScheme(); 11 12 /** 13 * @param string $scheme 14 */ 15 public function setScheme($scheme); 16 17 /** 18 * @return string 19 */ 20 public function getHost(); 21 22 /** 23 * @param string $host 24 */ 25 public function setHost($host); 26 27 /** 28 * @return int 29 */ 30 public function getPort(); 31 32 /** 33 * @param int $port 34 */ 35 public function setPort($port); 36 37 /** 38 * @return string 39 */ 40 public function getPath(); 41 42 /** 43 * @param string $path 44 */ 45 public function setPath($path); 46 47 /** 48 * @return string 49 */ 50 public function getQuery(); 51 52 /** 53 * @param string $query 54 */ 55 public function setQuery($query); 56 57 /** 58 * Adds a param to the query string. 59 * 60 * @param string $var 61 * @param string $val 62 */ 63 public function addToQuery($var, $val); 64 65 /** 66 * @return string 67 */ 68 public function getFragment(); 69 70 /** 71 * Should return URI user info, masking protected user info data according to rfc3986-3.2.1 72 * 73 * @return string 74 */ 75 public function getUserInfo(); 76 77 /** 78 * @param string $userInfo 79 */ 80 public function setUserInfo($userInfo); 81 82 /** 83 * Should return the URI Authority, masking protected user info data according to rfc3986-3.2.1 84 * 85 * @return string 86 */ 87 public function getAuthority(); 88 89 /** 90 * Should return the URI string, masking protected user info data according to rfc3986-3.2.1 91 * 92 * @return string the URI string with user protected info masked 93 */ 94 public function __toString(); 95 96 /** 97 * Should return the URI Authority without masking protected user info data 98 * 99 * @return string 100 */ 101 public function getRawAuthority(); 102 103 /** 104 * Should return the URI user info without masking protected user info data 105 * 106 * @return string 107 */ 108 public function getRawUserInfo(); 109 110 /** 111 * Build the full URI based on all the properties 112 * 113 * @return string The full URI without masking user info 114 */ 115 public function getAbsoluteUri(); 116 117 /** 118 * Build the relative URI based on all the properties 119 * 120 * @return string The relative URI 121 */ 122 public function getRelativeUri(); 123 124 /** 125 * @return bool 126 */ 127 public function hasExplicitTrailingHostSlash(); 128 129 /** 130 * @return bool 131 */ 132 public function hasExplicitPortSpecified(); 133} 134