Skip to content

Commit

Permalink
Moved stuff into a class.
Browse files Browse the repository at this point in the history
  • Loading branch information
davorg committed Jun 2, 2015
1 parent c635c0a commit cdc45bd
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 14 deletions.
58 changes: 58 additions & 0 deletions Hive.pm
@@ -0,0 +1,58 @@
package Hive;

use Moose;
use strict;
use warnings;

use LWP::Simple;
use HTTP::Cookies;
use HTTP::Request::Common;

has username => (
is => 'ro',
isa => 'Str',
required => 1,
);

has password => (
is => 'ro',
isa => 'Str',
required => 1,
);

has ua => (
is => 'ro',
isa => 'LWP::UserAgent',
lazy_build => 1,
);

sub _build_ua {
my $self = shift;

LWP::UserAgent->new(
cookie_jar => HTTP::Cookies->new,
);
}

has base_url => (
is => 'ro',
isa => 'Str',
default => 'https://api.hivehome.com/v5/',
);

sub BUILD {
my $self = shift;

my $req = POST $self->base_url . '/login',
[ username => $self->username, password => $self->password ];
$self->ua->request($req);
}

sub get_user {
my $self = shift;

my $req = GET $self->base_url . '/users/'. $self->username;
return $self->ua->request($req)->as_string;
}

1;
20 changes: 6 additions & 14 deletions gettemp
Expand Up @@ -4,21 +4,13 @@ use strict;
use warnings;
use 5.010;

use LWP::Simple;
use HTTP::Cookies;
use HTTP::Request::Common;

my $base_url = 'https://api.hivehome.com/v5/';
use Hive;

my ($user, $pass) = @ARGV;

my $ua = LWP::UserAgent->new(
cookie_jar => HTTP::Cookies->new,
);

my $req = POST "$base_url/login",
[ username => $user, password => $pass ];
say $ua->request($req)->as_string;
my $hive = Hive->new({
username => $user,
password => $pass,
});

$req = GET "$base_url/users/$user";
say $ua->request($req)->as_string;
say $hive->get_user;

0 comments on commit cdc45bd

Please sign in to comment.