summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatarWilliam Heimbigner <william.heimbigner@gmail.com>2016-01-21 16:44:31 -0700
committerLibravatarWilliam Heimbigner <william.heimbigner@gmail.com>2016-01-21 16:44:31 -0700
commit939891b050a6c0c5f44acf6ef43a30ee76719a16 (patch)
tree7862635c719666077af9ede63a2fddb67beaa552
parent0a491e341a13bcadeeeacfcd313d95768756e66f (diff)
Add URL shortener module
-rw-r--r--config-default/settings.xml4
-rw-r--r--lib/ASM/Shortener.pm26
2 files changed, 30 insertions, 0 deletions
diff --git a/config-default/settings.xml b/config-default/settings.xml
index 34dc4f8..4001890 100644
--- a/config-default/settings.xml
+++ b/config-default/settings.xml
@@ -27,5 +27,9 @@
<web>
<groupfile>/var/www/.htgroup</groupfile>
<userfile>/var/www/.htpasswd</userfile>
+ <shortener>
+ <apikey>look.at.shortener.godaddy.com</apikey>
+ <domain>asm.rocks</domain>
+ </shortener>
</web>
</settings>
diff --git a/lib/ASM/Shortener.pm b/lib/ASM/Shortener.pm
new file mode 100644
index 0000000..f2f6b29
--- /dev/null
+++ b/lib/ASM/Shortener.pm
@@ -0,0 +1,26 @@
+#!/usr/bin/perl
+
+package ASM::Shortener;
+
+use LWP::UserAgent;
+use URI::Escape;
+
+sub shorturl
+{
+ my $module = shift;
+ my ($url) = @_;
+ my $apikey = $::settings->{web}->{shortener}->{apikey};
+ my $domain = $::settings->{web}->{shortener}->{domain};
+ my $ua = LWP::UserAgent->new;
+ $ua->agent("AntiSpamMeta/13.37 ");
+ my $res = $ua->get('https://shortener.godaddy.com/v1/?apikey=' .$apikey . '&domain=' . $domain .'&url=' . uri_escape($url) );
+ if ($res->is_success) {
+ return $res->content;
+ }
+ else {
+ warn $res->status_line;
+ return $url;
+ }
+}
+
+1;