12 * obtain it through the world-wide-web, please send an email |
12 * obtain it through the world-wide-web, please send an email |
13 * to license@zend.com so we can send you a copy immediately. |
13 * to license@zend.com so we can send you a copy immediately. |
14 * |
14 * |
15 * @category Zend |
15 * @category Zend |
16 * @package Zend_Service_ShortUrl |
16 * @package Zend_Service_ShortUrl |
17 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
17 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
18 * @license http://framework.zend.com/license/new-bsd New BSD License |
18 * @license http://framework.zend.com/license/new-bsd New BSD License |
19 * @version $Id: $ |
19 * @version $Id: $ |
20 */ |
20 */ |
21 |
21 |
22 /** |
22 /** |
27 /** |
27 /** |
28 * Metamark.net API implementation |
28 * Metamark.net API implementation |
29 * |
29 * |
30 * @category Zend |
30 * @category Zend |
31 * @package Zend_Service_ShortUrl |
31 * @package Zend_Service_ShortUrl |
32 * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) |
32 * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com) |
33 * @license http://framework.zend.com/license/new-bsd New BSD License |
33 * @license http://framework.zend.com/license/new-bsd New BSD License |
34 */ |
34 */ |
35 class Zend_Service_ShortUrl_MetamarkNet extends Zend_Service_ShortUrl_AbstractShortener |
35 class Zend_Service_ShortUrl_MetamarkNet extends Zend_Service_ShortUrl_AbstractShortener |
36 { |
36 { |
37 /** |
37 /** |
38 * Base URI of the service |
38 * Base URI of the service |
39 * |
39 * |
40 * @var string |
40 * @var string |
41 */ |
41 */ |
42 protected $_baseUri = 'http://xrl.us/'; |
42 protected $_baseUri = 'http://xrl.us/'; |
43 |
43 |
44 protected $_apiUri = 'http://metamark.net/api/rest/simple'; |
44 protected $_apiUri = 'http://metamark.net/api/rest/simple'; |
45 |
45 |
46 /** |
46 /** |
47 * This function shortens long url |
47 * This function shortens long url |
48 * |
48 * |
49 * @param string $url URL to Shorten |
49 * @param string $url URL to Shorten |
50 * @throws Zend_Service_ShortUrl_Exception When URL is not valid |
50 * @throws Zend_Service_ShortUrl_Exception When URL is not valid |
51 * @return string New URL |
51 * @return string New URL |
52 */ |
52 */ |
53 public function shorten($url) |
53 public function shorten($url) |
54 { |
54 { |
55 $this->_validateUri($url); |
55 $this->_validateUri($url); |
56 |
56 |
57 $this->getHttpClient()->setUri($this->_apiUri); |
57 $this->getHttpClient()->setUri($this->_apiUri); |
58 $this->getHttpClient()->setParameterGet('long_url', $url); |
58 $this->getHttpClient()->setParameterGet('long_url', $url); |
59 |
59 |
60 $response = $this->getHttpClient()->request(); |
60 $response = $this->getHttpClient()->request(); |
61 |
61 |
62 return $response->getBody(); |
62 return $response->getBody(); |
63 } |
63 } |
64 |
64 |
65 /** |
65 /** |
66 * Reveals target for short URL |
66 * Reveals target for short URL |
72 public function unshorten($shortenedUrl) |
72 public function unshorten($shortenedUrl) |
73 { |
73 { |
74 $this->_validateUri($shortenedUrl); |
74 $this->_validateUri($shortenedUrl); |
75 |
75 |
76 $this->_verifyBaseUri($shortenedUrl); |
76 $this->_verifyBaseUri($shortenedUrl); |
77 |
77 |
78 $this->getHttpClient()->setUri($this->_apiUri); |
78 $this->getHttpClient()->setUri($this->_apiUri); |
79 $this->getHttpClient()->setParameterGet('short_url', $shortenedUrl); |
79 $this->getHttpClient()->setParameterGet('short_url', $shortenedUrl); |
80 |
80 |
81 $response = $this->getHttpClient()->request(); |
81 $response = $this->getHttpClient()->request(); |
82 |
82 |
83 return $response->getBody(); |
83 return $response->getBody(); |
84 } |
84 } |
85 } |
85 } |