1 package OpenILS::WWW::Vandelay;
7 use Apache2::Const -compile => qw(OK REDIRECT DECLINED NOT_FOUND FORBIDDEN :log);
8 use APR::Const -compile => qw(:error SUCCESS);
11 use Apache2::RequestRec ();
12 use Apache2::RequestIO ();
13 use Apache2::RequestUtil;
18 use OpenSRF::EX qw(:try);
19 use OpenSRF::Utils::Cache;
21 use OpenSRF::AppSession;
24 use OpenILS::Utils::Fieldmapper;
25 use OpenSRF::Utils::Logger qw/$logger/;
31 use Digest::MD5 qw/md5_hex/;
33 use UNIVERSAL::require;
35 our @formats = qw/USMARC UNIMARC XML BRE/;
37 # set the bootstrap config and template include directory when
38 # this module is loaded
48 OpenSRF::System->bootstrap_client( config_file => $bootstrap );
55 my $auth = $cgi->param('ses') || $cgi->cookie('ses');
57 return Apache2::Const::FORBIDDEN unless verify_login($auth);
59 my $data_fingerprint = '';
60 my $purpose = $cgi->param('purpose');
61 my $file = $cgi->param('marc_upload');
63 if($file and -e $file) {
65 my $data = join '', (<$file>);
66 $data = encode_base64($data);
68 $data_fingerprint = md5_hex($data);
70 OpenSRF::Utils::Cache->new->put_cache(
71 'vandelay_import_spool_' . $data_fingerprint,
72 { purpose => $purpose, marc => $data }
76 $r->content_type('text/plain; charset=utf-8');
77 print "$data_fingerprint";
78 return Apache2::Const::OK;
82 my $auth_token = shift;
83 return undef unless $auth_token;
85 my $user = OpenSRF::AppSession
86 ->create("open-ils.auth")
87 ->request( "open-ils.auth.session.retrieve", $auth_token )
90 if (ref($user) eq 'HASH' && $user->{ilsevent} == 1001) {
94 return $user if ref($user);