Skip to content

Instantly share code, notes, and snippets.

@johnsusek
Created August 13, 2016 01:07
Show Gist options
  • Select an option

  • Save johnsusek/1e5aabeeabce492486c3964c3716abc0 to your computer and use it in GitHub Desktop.

Select an option

Save johnsusek/1e5aabeeabce492486c3964c3716abc0 to your computer and use it in GitHub Desktop.
diff --git a/client/lib/App.pm b/client/lib/App.pm
old mode 100644
new mode 100755
index 1d8bcc0..ad381fa
--- a/client/lib/App.pm
+++ b/client/lib/App.pm
@@ -53,7 +53,7 @@ sub url {
{
my %handlers = map { $_ => 1} qw(
index create chat status raw events
- destroy slice auth login register
+ destroy slice auth token login register
);
sub handle {
@@ -69,7 +69,7 @@ sub events {
my ($self, $req, $captures, $session) = @_;
my $id = $captures->{id};
my $nick = $captures->{nick};
-
+
return sub {
my $response = shift;
my $writer = $response->([200, ["Content-Type", "text/event-stream"]]);
@@ -335,7 +335,7 @@ sub slice {
}
elsif ($slice =~ /^(\d+):$/) {
$start = $1;
- $end = $start + 100;
+ $end = $start + 100;
}
$end = min($end, $start + 100);
@@ -369,7 +369,7 @@ sub logged_in {
}
if (! $self->lookup_user($session->{user})) {
- warn "user not in data base: $session->{user}"
+ warn "user not in data base: $session->{user}";
return 0;
}
@@ -391,12 +391,21 @@ sub auth {
if ($row) {
$req->env->{'psgix.session'}->{user} = $row->[0];
+ if ($req->headers->header('Accept') eq 'application/json') {
+ return $self->redirect("/token");
+ }
return $self->redirect("/");
}
return $self->unauthorized;
}
+sub token {
+ my ($self, $req, $captures, $session) = @_;
+ my $conns = $self->connections($session->{user});
+ return $self->json($conns);
+}
+
sub add_user {
my ($self, $email, $pass) = @_;
my $hashed = $self->hash_password($pass);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment