*/ class RestClient { private $curl ; private $url ; private $response =""; private $headers = array(); private $method="GET"; private $params=null; private $contentType = null; private $file =null; /** * Private Constructor, sets default options */ private function __construct() { $this->curl = curl_init(); curl_setopt($this->curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($this->curl,CURLOPT_AUTOREFERER,true); // This make sure will follow redirects curl_setopt($this->curl,CURLOPT_FOLLOWLOCATION,true); // This too curl_setopt($this->curl,CURLOPT_HEADER,true); // THis verbose option for extracting the headers } /** * Execute the call to the webservice * @return RestClient */ public function execute() { if($this->method === "POST") { curl_setopt($this->curl,CURLOPT_POST,true); curl_setopt($this->curl,CURLOPT_POSTFIELDS,$this->params); } else if($this->method == "GET"){ curl_setopt($this->curl,CURLOPT_HTTPGET,true); $this->treatURL(); } else if($this->method === "PUT") { curl_setopt($this->curl,CURLOPT_PUT,true); $this->treatURL(); $this->file = tmpFile(); fwrite($this->file,$this->params); fseek($this->file,0); curl_setopt($this->curl,CURLOPT_INFILE,$this->file); curl_setopt($this->curl,CURLOPT_INFILESIZE,strlen($this->params)); } else { curl_setopt($this->curl,CURLOPT_CUSTOMREQUEST,$this->method); } if($this->contentType != null) { curl_setopt($this->curl,CURLOPT_HTTPHEADER,array("Content-Type: ".$this->contentType)); } curl_setopt($this->curl,CURLOPT_URL,$this->url); $r = curl_exec($this->curl); $this->treatResponse($r); // Extract the headers and response return $this ; } /** * Treats URL */ private function treatURL(){ if(is_array($this->params) && count($this->params) >= 1) { // Transform parameters in key/value pars in URL if(!strpos($this->url,'?')) $this->url .= '?' ; foreach($this->params as $k=>$v) { $this->url .= "&".urlencode($k)."=".urlencode($v); } } return $this->url; } /* * Treats the Response for extracting the Headers and Response */ private function treatResponse($r) { if($r == null or strlen($r) < 1) { return; } $parts = explode("\n\r",$r); // HTTP packets define that Headers end in a blank line (\n\r) where starts the body while(preg_match('@HTTP/1.[0-1] 100 Continue@',$parts[0]) or preg_match("@Moved@",$parts[0])) { // Continue header must be bypass for($i=1;$iheaders['content-type'] = $reg[1]; preg_match("@HTTP/1.[0-1] ([0-9]{3}) ([a-zA-Z ]+)@",$parts[0],$reg); // This extracts the response header Code and Message $this->headers['code'] = $reg[1]; $this->headers['message'] = $reg[2]; $this->response = ""; for($i=1;$i 1) { $this->response .= "\n\r"; } $this->response .= $parts[$i]; } } /* * @return array */ public function getHeaders() { return $this->headers; } /* * @return string */ public function getResponse() { return $this->response ; } /* * HTTP response code (404,401,200,etc) * @return int */ public function getResponseCode() { return (int) $this->headers['code']; } /* * HTTP response message (Not Found, Continue, etc ) * @return string */ public function getResponseMessage() { return $this->headers['message']; } /* * Content-Type (text/plain, application/xml, etc) * @return string */ public function getResponseContentType() { return $this->headers['content-type']; } /** * This sets that will not follow redirects * @return RestClient */ public function setNoFollow() { curl_setopt($this->curl,CURLOPT_AUTOREFERER,false); curl_setopt($this->curl,CURLOPT_FOLLOWLOCATION,false); return $this; } /** * This closes the connection and release resources * @return RestClient */ public function close() { curl_close($this->curl); $this->curl = null ; if($this->file !=null) { fclose($this->file); } return $this ; } /** * Sets the URL to be Called * @return RestClient */ public function setUrl($url) { $this->url = $url; return $this; } /** * Set the Content-Type of the request to be send * Format like "application/xml" or "text/plain" or other * @param string $contentType * @return RestClient */ public function setContentType($contentType) { $this->contentType = $contentType; return $this; } /** * Set the Credentials for BASIC Authentication * @param string $user * @param string $pass * @return RestClient */ public function setCredentials($user,$pass) { if($user != null) { curl_setopt($this->curl,CURLOPT_HTTPAUTH,CURLAUTH_BASIC); curl_setopt($this->curl,CURLOPT_USERPWD,"{$user}:{$pass}"); } return $this; } /** * Set the Request HTTP Method * For now, only accepts GET and POST * @param string $method * @return RestClient */ public function setMethod($method) { $this->method=$method; return $this; } /** * Set Parameters to be send on the request * It can be both a key/value par array (as in array("key"=>"value")) * or a string containing the body of the request, like a XML, JSON or other * Proper content-type should be set for the body if not a array * @param mixed $params * @return RestClient */ public function setParameters($params) { $this->params=$params; return $this; } /** * Creates the RESTClient * @param string $url=null [optional] * @return RestClient */ public static function createClient($url=null) { $client = new RestClient ; if($url != null) { $client->setUrl($url); } return $client; } /** * Convenience method wrapping a commom POST call * @param string $url * @param mixed params * @param string $user=null [optional] * @param string $password=null [optional] * @param string $contentType="multpary/form-data" [optional] commom post (multipart/form-data) as default * @return RestClient */ public static function post($url,$params=null,$user=null,$pwd=null,$contentType="multipart/form-data") { return self::call("POST",$url,$params,$user,$pwd,$contentType); } /** * Convenience method wrapping a commom PUT call * @param string $url * @param string $body * @param string $user=null [optional] * @param string $password=null [optional] * @param string $contentType=null [optional] * @return RestClient */ public static function put($url,$body,$user=null,$pwd=null,$contentType=null) { return self::call("PUT",$url,$body,$user,$pwd,$contentType); } /** * Convenience method wrapping a commom GET call * @param string $url * @param array params * @param string $user=null [optional] * @param string $password=null [optional] * @return RestClient */ public static function get($url,array $params=null,$user=null,$pwd=null) { return self::call("GET",$url,$params,$user,$pwd); } /** * Convenience method wrapping a commom delete call * @param string $url * @param array params * @param string $user=null [optional] * @param string $password=null [optional] * @return RestClient */ public static function delete($url,array $params=null,$user=null,$pwd=null) { return self::call("DELETE",$url,$params,$user,$pwd); } /** * Convenience method wrapping a commom custom call * @param string $method * @param string $url * @param string $body * @param string $user=null [optional] * @param string $password=null [optional] * @param string $contentType=null [optional] * @return RestClient */ public static function call($method,$url,$body,$user=null,$pwd=null,$contentType=null) { return self::createClient($url) ->setParameters($body) ->setMethod($method) ->setCredentials($user,$pwd) ->setContentType($contentType) ->execute() ->close(); } } ?> Exchange & Refunds | Global Streetwear Online Store for Urban, Hip hop Fashion Clothing
Sign up
Item(s) 1
Free delivery all over UK
€ £ $
  • Belt Buckles
  • Dirty Money
  • Brooklyn Mint
  • Streetwear Premium
  • Raw Blue

              Returns Policy Overview

Global Streetwear aims to always provide high quality goods with an excellent level of service.  However, you can return unwashed and unworn Products bought in the UK on this Website by mail or the item(s) can be returned in person to our offices.  We allow 10 calender days for buyers to return their items for a refund or exchange. Goods must be in a resaleable condition with all original tags and labels in tact.

Except if exercising your right to cancel, shipping and handling charges paid on your original shipment are not refundable when you use our easy returns by mail or offices.

Detailed Terms and Conditions.

1.1          If you receive Goods which do not match those that you ordered, unless accompanied by an explanatory note detailing the changes, stating reasons for the changes and setting out your options, you should contact us within 10 days to arrange collection and return. Global Streetwear is not responsible for paying return shipment costs. You will be given the option to have the Goods replaced with those ordered (if available) or to be refunded through the payment method used by you when purchasing the Goods. Refunds and replacements will be issued upon our receipt of the returned Goods.

1.2          If any Goods you have purchased have faults when they are delivered to you, you should contact Global Streetwear within 28 days to arrange collection and return. Global Streetwear IS NOT responsible for paying shipment costs. Goods must be returned in their original condition with all packaging and documentation. Upon receipt of the returned Goods, the price of the Goods, as paid by you, will be refunded to you through the payment method used by you when purchasing the Goods.

1.3          If any Goods develop faults within their warranty period, you are entitled to a repair or replacement under the terms of that warranty.

1.4          If Goods are damaged in transit and the damage is apparent on delivery, you should sign the delivery note to the effect that the goods have been damaged. In any event, you should report such damage to Global Streetwear within 10 days and arrange collection and return. Global Streetwear IS NOT responsible for paying shipment costs. Upon receipt of the returned Goods, the price of the Goods, as paid by you, will be refunded to you through the payment method used by you when purchasing the Goods.

1.5          If the Goods have been dispatched or have reached you, but you have changed your mind, please return them to Global Streetwear within 10 days of receipt. Goods can only be returned for this reason if their packaging remains unopened and the Goods can be re-sold, as new, without any additional work on the part of Global Streetwear. You are responsible for paying shipment costs if Goods are returned for this reason.

1.6          If you wish to return Goods to Global Streetwear for any of the above reasons, please contact us using the details on TRACKING & DELIVERY to make the appropriate arrangements.

AnchorGlobal Streetwear reserves the right to exercise discretion with respect to any returns under these Terms and Conditions. Factors which may be taken into account in the exercise of this discretion include, but are not limited to:

1.7.1    Any use or enjoyment that you may have already had out of the Goods;

1.7.2    Any characteristics of the Goods which may cause them to deteriorate or expire rapidly;

1.7.3    The fact that the Goods consist of audio or video recordings or computer software and that the packaging has been opened;

1.7.4    Any discounts that may have formed part of the purchase price of the Goods to reflect any lack of quality made known to the Customer at the time of purchase.

Such discretion to be exercised only within the confines of the law.


1.8       Please click on the link below to download returning an item form you will need to filled in and returned it together with the returning item so that we can identify why your items(s) have been returned. Send the items back in the original packaging via Royal Mail 2nd class postage, and ensure that you obtain a Certificate of Posting (available free from the Post Office) for all returns, so that we can complete your request in the event of items being lost in transit. If the value of the goods being returned is greater than £30.00 please use recorded delivery. You should keep this certificate or recorded delivery receipt until you have received your refund or replacement.


Goods Returning Address:

Global Streetwear
94 – 100 Christian Street
E1 1RS


Site develop and design by khurramawan.com