#!/usr/bin/perl # # rhwebimport # # Copyright (C) 2014-2016 Christian Pointner # Copyright (C) 2015-2016 Peter Grassberger # # This file is part of rhwebimport. # # rhwebimport is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. # # rhwebimport is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with rhwebimport. If not, see . # use strict; use RHRD::rddb; use JSON::MaybeXS; my $status = 'ERROR'; my $errorstring = 'unknown'; my $username = ''; my $token = ''; my $fullname = ''; my $responsecode = 500; if(defined $ENV{REMOTE_USER}) { (my $ctx, $status, $errorstring) = RHRD::rddb::init(); if(defined $ctx) { $username = $ENV{REMOTE_USER}; ($token, $status, $errorstring) = RHRD::rddb::get_token($ctx, $username); $token = '' unless($token); ($fullname, $status, $errorstring) = RHRD::rddb::get_fullname($ctx, $username); $fullname = '' unless($fullname); RHRD::rddb::destroy($ctx); if($status == "OK") { $responsecode = 200; } } } else { $errorstring = 'no username defined - are you logged in?'; $responsecode = 400; } my %answer; $answer{'status'} = $status; $answer{'errorstring'} = $errorstring; $answer{'username'} = $username; $answer{'fullname'} = $fullname; $answer{'token'} = $token; my $j = JSON::MaybeXS->new(utf8 => 0); print "Content-type: application/json; charset=UTF-8\n"; print "Status: $responsecode\n\n"; print $j->encode(\%answer);