bit.ly: URL shortening web service
parent
378e0f7f6e
commit
b5e99faf4f
|
@ -0,0 +1 @@
|
||||||
|
Slava Pestov
|
|
@ -0,0 +1,23 @@
|
||||||
|
! Copyright (C) 2010 Slava Pestov.
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
USING: assocs http.client json.reader kernel namespaces urls ;
|
||||||
|
IN: bit.ly
|
||||||
|
|
||||||
|
SYMBOLS: login api-key ;
|
||||||
|
|
||||||
|
<PRIVATE
|
||||||
|
|
||||||
|
: make-request ( long-url -- request )
|
||||||
|
"http://api.bit.ly/v3/shorten" >url
|
||||||
|
login get "login" set-query-param
|
||||||
|
api-key get "apiKey" set-query-param
|
||||||
|
"json" "format" set-query-param
|
||||||
|
swap "longUrl" set-query-param ;
|
||||||
|
|
||||||
|
: parse-response ( response data -- short-url )
|
||||||
|
nip json> "data" swap at "url" swap at ;
|
||||||
|
|
||||||
|
PRIVATE>
|
||||||
|
|
||||||
|
: shorten-url ( long-url -- short-url )
|
||||||
|
make-request http-get parse-response ;
|
|
@ -0,0 +1 @@
|
||||||
|
Wrapper for bit.ly URL shortening web service
|
|
@ -0,0 +1 @@
|
||||||
|
web services
|
Loading…
Reference in New Issue