isgd.tcl 449 B

1234567891011121314151617181920212223242526
  1. #
  2. # June 26 2010
  3. # by horgh
  4. #
  5. package provide isgd 0.1
  6. package require http
  7. namespace eval isgd {
  8. variable url http://is.gd/api.php
  9. }
  10. proc isgd::shorten {url} {
  11. set query [http::formatQuery longurl $url]
  12. set token [http::geturl ${isgd::url}?${query} -timeout 20000 -method GET]
  13. set data [http::data $token]
  14. set ncode [http::ncode $token]
  15. http::cleanup $token
  16. if {$ncode != 200} {
  17. error "HTTP error ($ncode): $data"
  18. }
  19. return $data
  20. }