From: Kilian Saffran Date: Tue, 2 Apr 2019 08:02:06 +0000 (+0200) Subject: service added X-Git-Tag: 1.0.0~3 X-Git-Url: http://cloud.dks.lu/git/?a=commitdiff_plain;h=b2916373552be9db7a00a220b64bd619367af6cf;p=solinf-gisservicehelper.git service added --- diff --git a/.gitignore b/.gitignore index 5781a7d..667f8d6 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ dev/testfiles/* build/deps.txt test/* .vscode/* +access.log +error.log + diff --git a/Module/GISFiles.pm b/Module/GISFiles.pm index 377de2b..f0852f9 100644 --- a/Module/GISFiles.pm +++ b/Module/GISFiles.pm @@ -112,17 +112,18 @@ sub getfile(){ } my $ret = ""; $basefname = basename($file); - if (-e $self->{gis}->{filesbasepath}.'/'.$file){ - my $mtf = $mt->mimeTypeOf($self->{gis}->{filesbasepath}.'/'.$file); + my $dldfile = encode("iso-8859-1",$self->{gis}->{filesbasepath}.'/'.$file); + if (-e $dldfile){ + my $mtf = $mt->mimeTypeOf($dldfile); my $mt = (exists($mtf->{MT_simplified})?$mtf->{MT_simplified}:'application/x-download'); - open my $bin_fh, '<', $self->{gis}->{filesbasepath}.'/'.$file or die $!; + open my $bin_fh, '<', $dldfile or die $!; return [ $status, [ 'Content-Type' => $mt,'Content-Disposition' =>'attachment; filename='.$basefname,'Cache-Control' => 'no-store, no-cache, must-revalidate', 'Access-Control-Allow-Origin'=> '*' ], $bin_fh ]; } else { - $ret = "File: ".$self->{gis}->{filesbasepath}.'/'.$file." does not FOUND!"; + $ret = "File: ".$dldfile." does not FOUND!"; return [ 404, [ 'Content-Type' => "text/html",'Cache-Control' => 'no-store, no-cache, must-revalidate' ], diff --git a/access.log b/access.log index 9eefbfe..c25f91e 100644 --- a/access.log +++ b/access.log @@ -60,3 +60,84 @@ 127.0.0.1 - - [13/Mar/2019:12:58:13 +0100] "GET /gis/file?file=2003%2F000008%2FIMAGES%2F1d9o7yjylthtj2hva4p0.docx HTTP/1.1" 200 9926 "http://localhost:6060/index.html?path=2003/000008/IMAGES" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763" 127.0.0.1 - - [13/Mar/2019:13:05:38 +0100] "GET /gis/path?dir=2003/000008/IMAGES HTTP/1.1" 200 328 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763" 127.0.0.1 - - [13/Mar/2019:13:05:51 +0100] "GET /gis/path?dir=2003/000008 HTTP/1.1" 200 101 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763" +127.0.0.1 - - [29/Mar/2019:08:00:33 +0100] "GET /index.html HTTP/1.1" 200 1447 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:33 +0100] "GET /vendor/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 155758 "http://localhost:6060/index.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:33 +0100] "GET /vendor/jquery/jquery.min.js HTTP/1.1" 200 86927 "http://localhost:6060/index.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:33 +0100] "GET /js/site.js HTTP/1.1" 200 6522 "http://localhost:6060/index.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:33 +0100] "GET /vendor/bootstrap/js/bootstrap.bundle.min.js HTTP/1.1" 200 78635 "http://localhost:6060/index.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:33 +0100] "GET /gis/fournisseurs HTTP/1.1" 200 136 "http://localhost:6060/index.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:33 +0100] "GET /favicon.ico HTTP/1.1" 404 9 "http://localhost:6060/index.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:35 +0100] "GET /index.html?fournisseur=1 HTTP/1.1" 200 1447 "http://localhost:6060/index.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:35 +0100] "GET /gis/data?fournisseur=1 HTTP/1.1" 200 116637 "http://localhost:6060/index.html?fournisseur=1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:38 +0100] "GET /index.html?path=1983%2F000009 HTTP/1.1" 200 1447 "http://localhost:6060/index.html?fournisseur=1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:38 +0100] "GET /gis/path?dir=1983%2F000009 HTTP/1.1" 200 38 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:40 +0100] "GET /gis/data?fournisseur=1 HTTP/1.1" 200 116637 "http://localhost:6060/index.html?fournisseur=1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:59 +0100] "GET /index.html?fournisseur=1&adresse=L-8036%20STRASSEN%2C%2023%20%2C%20CITE%20ORICHER-HOEHL HTTP/1.1" 200 1447 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:00:59 +0100] "GET /gis/data?fournisseur=1&adresse=L-8036%20STRASSEN%2C%2023%20%2C%20CITE%20ORICHER-HOEHL HTTP/1.1" 200 399 "http://localhost:6060/index.html?fournisseur=1&adresse=L-8036%20STRASSEN%2C%2023%20%2C%20CITE%20ORICHER-HOEHL" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:01:56 +0100] "GET /index.html?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL HTTP/1.1" 200 1447 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:01:56 +0100] "GET /gis/data?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL HTTP/1.1" 200 399 "http://localhost:6060/index.html?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:01:58 +0100] "GET /gis/path?dir=1983%2F000009 HTTP/1.1" 200 38 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:01:59 +0100] "GET /index.html?path=1983 HTTP/1.1" 200 1447 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:02:00 +0100] "GET /gis/path?dir=1983 HTTP/1.1" 200 28 "http://localhost:6060/index.html?path=1983" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:02:01 +0100] "GET /index.html?path=. HTTP/1.1" 200 1447 "http://localhost:6060/index.html?path=1983" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:02:01 +0100] "GET /gis/path?dir=. HTTP/1.1" 200 25 "http://localhost:6060/index.html?path=." "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:02:02 +0100] "GET /gis/path?dir=. HTTP/1.1" 200 25 "http://localhost:6060/index.html?path=." "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:02:03 +0100] "GET /gis/path?dir=1983 HTTP/1.1" 200 28 "http://localhost:6060/index.html?path=1983" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:02:04 +0100] "GET /gis/path?dir=1983%2F000009 HTTP/1.1" 200 38 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:02:04 +0100] "GET /gis/data?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL HTTP/1.1" 200 399 "http://localhost:6060/index.html?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:02:08 +0100] "GET /index.html?fournisseur=1&annee_demande=2008&numero_demande=000007 HTTP/1.1" 200 1447 "http://localhost:6060/index.html?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:02:08 +0100] "GET /gis/data?fournisseur=1&annee_demande=2008&numero_demande=000007 HTTP/1.1" 200 179 "http://localhost:6060/index.html?fournisseur=1&annee_demande=2008&numero_demande=000007" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:03:51 +0100] "GET /index.html?fournisseur=1&annee_demande=2008&numero_demande=000007 HTTP/1.1" 200 1447 "http://localhost:6060/index.html?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:03:51 +0100] "GET /gis/data?fournisseur=1&annee_demande=2008&numero_demande=000007 HTTP/1.1" 200 179 "http://localhost:6060/index.html?fournisseur=1&annee_demande=2008&numero_demande=000007" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:03:52 +0100] "GET /index.html?path=2008%2F000007 HTTP/1.1" 200 1447 "http://localhost:6060/index.html?fournisseur=1&annee_demande=2008&numero_demande=000007" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:03:54 +0100] "GET /gis/path?dir=2008%2F000007 HTTP/1.1" 200 115 "http://localhost:6060/index.html?path=2008%2F000007" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:03:54 +0100] "GET /gis/data?fournisseur=1&annee_demande=2008&numero_demande=000007 HTTP/1.1" 200 179 "http://localhost:6060/index.html?fournisseur=1&annee_demande=2008&numero_demande=000007" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:03:56 +0100] "GET /gis/data?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL HTTP/1.1" 200 399 "http://localhost:6060/index.html?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:04:00 +0100] "GET /gis/path?dir=1983%2F000009 HTTP/1.1" 200 107 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:04:02 +0100] "GET /index.html?path=1983/000009/AVIS_POMPIER HTTP/1.1" 200 1447 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:04:02 +0100] "GET /gis/path?dir=1983/000009/AVIS_POMPIER HTTP/1.1" 200 265 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:04:04 +0100] "GET /gis/file?file=1983%2F000009%2FAVIS_POMPIER%2F2dqhj21wr-zu3.dxf HTTP/1.1" 200 100733 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:04:08 +0100] "GET /gis/path?dir=1983%2F000009 HTTP/1.1" 200 107 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:04:09 +0100] "GET /gis/data?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL HTTP/1.1" 200 399 "http://localhost:6060/index.html?fournisseur=1&adresse=L-8036%20STRASSEN,%2023%20,%20CITE%20ORICHER-HOEHL" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:08:40 +0100] "GET /gis/fournisseurs HTTP/1.1" 200 136 "http://localhost:6060/index.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:08:42 +0100] "GET /gis/data?fournisseur=1 HTTP/1.1" 200 116637 "http://localhost:6060/index.html?fournisseur=1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:08 +0100] "GET /gis/path?dir=1983%2F000009 HTTP/1.1" 200 107 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:13 +0100] "GET /gis/path?dir=1983/000009/AVIS_POMPIER HTTP/1.1" 200 265 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:26 +0100] "GET /index.html?path=1983/000009 HTTP/1.1" 200 1447 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:26 +0100] "GET /gis/path?dir=1983/000009 HTTP/1.1" 200 107 "http://localhost:6060/index.html?path=1983/000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:31 +0100] "GET /gis/path?dir=1983 HTTP/1.1" 200 61 "http://localhost:6060/index.html?path=1983" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:31 +0100] "GET /gis/path?dir=1983/000009 HTTP/1.1" 200 107 "http://localhost:6060/index.html?path=1983/000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:32 +0100] "GET /gis/path?dir=1983/000009/AVIS_POMPIER HTTP/1.1" 200 265 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:37 +0100] "GET /gis/path?dir=1983/000009 HTTP/1.1" 200 107 "http://localhost:6060/index.html?path=1983/000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:38 +0100] "GET /gis/path?dir=1983/000009/AVIS_POMPIER HTTP/1.1" 200 265 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:11:40 +0100] "GET /gis/file?file=1983%2F000009%2FAVIS_POMPIER%2Fpk%208i4-qmcbmc_-.pdf HTTP/1.1" 200 3908 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:12:47 +0100] "GET /gis/path?dir=1983/000009 HTTP/1.1" 200 107 "http://localhost:6060/index.html?path=1983/000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:12:48 +0100] "GET /gis/path?dir=1983 HTTP/1.1" 200 61 "http://localhost:6060/index.html?path=1983" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:12:49 +0100] "GET /gis/path?dir=1983/000009 HTTP/1.1" 200 107 "http://localhost:6060/index.html?path=1983/000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:12:50 +0100] "GET /gis/path?dir=1983/000009/AVIS_POMPIER HTTP/1.1" 200 266 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:12:51 +0100] "GET /gis/file?file=1983%2F000009%2FAVIS_POMPIER%2F2dqhj21w%C3%A9-zu3.dxf HTTP/1.1" 404 77 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:08:12:57 +0100] "GET /gis/path?dir=1983/000009/AVIS_POMPIER HTTP/1.1" 200 266 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:01:56 +0100] "GET /gis/fournisseurs HTTP/1.1" 200 136 "http://localhost:6060/index.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:02:01 +0100] "GET /gis/data?fournisseur=1 HTTP/1.1" 200 116637 "http://localhost:6060/index.html?fournisseur=1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:02:05 +0100] "GET /gis/path?dir=1983%2F000009 HTTP/1.1" 200 107 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:02:06 +0100] "GET /gis/path?dir=1983/000009/AVIS_POMPIER HTTP/1.1" 200 266 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:02:08 +0100] "GET /gis/file?file=1983%2F000009%2FAVIS_POMPIER%2F2dqhj21w%C3%A9-zu3.dxf HTTP/1.1" 404 77 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:07:01 +0100] "GET /index.html?path=1983/000009/AVIS_POMPIER HTTP/1.1" 200 1447 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:07:01 +0100] "GET /vendor/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 155758 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:07:01 +0100] "GET /vendor/jquery/jquery.min.js HTTP/1.1" 200 86927 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:07:01 +0100] "GET /js/site.js HTTP/1.1" 200 6522 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:07:01 +0100] "GET /vendor/bootstrap/js/bootstrap.bundle.min.js HTTP/1.1" 200 78635 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:07:01 +0100] "GET /gis/path?dir=1983/000009/AVIS_POMPIER HTTP/1.1" 200 266 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:07:02 +0100] "GET /vendor/bootstrap/css/bootstrap.min.css.map HTTP/1.1" 200 625953 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:07:02 +0100] "GET /vendor/bootstrap/js/bootstrap.bundle.min.js.map HTTP/1.1" 200 311949 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:09:06 +0100] "GET /gis/file?file=1983%2F000009%2FAVIS_POMPIER%2F2dqhj21w%C3%A9-zu3.dxf HTTP/1.1" 404 77 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:03 +0100] "GET /gis/file?file=1983%2F000009%2FAVIS_POMPIER%2F2dqhj21w%C3%A9-zu3.dxf HTTP/1.1" 200 100733 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:20 +0100] "GET /index.html?path=1983/000009/AVIS_POMPIER HTTP/1.1" 200 1447 "http://localhost:6060/index.html?path=1983%2F000009" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:20 +0100] "GET /vendor/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 155758 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:20 +0100] "GET /vendor/jquery/jquery.min.js HTTP/1.1" 200 86927 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:20 +0100] "GET /vendor/bootstrap/js/bootstrap.bundle.min.js HTTP/1.1" 200 78635 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:20 +0100] "GET /js/site.js HTTP/1.1" 200 6522 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:20 +0100] "GET /vendor/bootstrap/css/bootstrap.min.css.map HTTP/1.1" 200 625953 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:21 +0100] "GET /vendor/bootstrap/js/bootstrap.bundle.min.js.map HTTP/1.1" 200 311949 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:21 +0100] "GET /gis/path?dir=1983/000009/AVIS_POMPIER HTTP/1.1" 200 266 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" +127.0.0.1 - - [29/Mar/2019:09:10:22 +0100] "GET /gis/file?file=1983%2F000009%2FAVIS_POMPIER%2F2dqhj21w%C3%A9-zu3.dxf HTTP/1.1" 200 100733 "http://localhost:6060/index.html?path=1983/000009/AVIS_POMPIER" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" diff --git a/build/build_gisservicehelper.bat b/build/build_gisservicehelper.bat index 8a1eb3b..d7c4c51 100644 --- a/build/build_gisservicehelper.bat +++ b/build/build_gisservicehelper.bat @@ -30,4 +30,11 @@ C:\Strawberry\perl\bin\perl.exe ^ --bundle "%SOURCEENV%\gisservicehelper.pl" REM --gui ^ - REM --tempcache "gisservicehelper" ^ \ No newline at end of file + REM --tempcache "gisservicehelper" ^ +REM del "%SOURCEENV%\dist\testsvc.exe" +REM C:\Strawberry\perl\bin\perl.exe ^ +REM -I %SOURCEENV% "C:\Strawberry\perl\site\bin\pp.bat" ^ +REM --output="%SOURCEENV%\dist\testsvc.exe" ^ +REM --cachedeps="%SOURCEENV%\build\testdeps.txt" ^ +REM --compress 9 ^ +REM --bundle "%SOURCEENV%\testsvc.pl" \ No newline at end of file diff --git a/dist/gisservicehelper.exe b/dist/gisservicehelper.exe index 3f3d429..4d21c32 100644 Binary files a/dist/gisservicehelper.exe and b/dist/gisservicehelper.exe differ diff --git a/dist/gisservicehelper.json b/dist/gisservicehelper.json index 472941d..61737cb 100644 --- a/dist/gisservicehelper.json +++ b/dist/gisservicehelper.json @@ -7,6 +7,11 @@ "timeout":"300", "max-reqs-per-child":"1000" }, + "winservice":{ + "name":"gishelpersrv", + "display":"GIS Helper Server", + "description":"SolInf GIS Helper Service" + }, "database": { "dbhost": "solinf.arvixecloud.com", "dbname": "strassenab", @@ -17,6 +22,7 @@ "gis": { "filesbasepath": "N:/TEMP/data", "sql": "select annee_demande,LPAD(numero_demande,6,0) as numero_demande,adresse_%%fournisseur%% as adresse from table_gis where adresse_%%fournisseur%% is not null group by adresse_%%fournisseur%%,annee_demande,numero_demande,numero_demande_%%fournisseur%% order by annee_demande,numero_demande;", + "webparam": { "fournisseur": { "1": {"name":"LuxPlan","sqlreplace":"luxplan"}, diff --git a/dist/gisservicehelper.pid b/dist/gisservicehelper.pid deleted file mode 100644 index 11604ee..0000000 --- a/dist/gisservicehelper.pid +++ /dev/null @@ -1 +0,0 @@ -25656 \ No newline at end of file diff --git a/error.log b/error.log index 824560f..4156b58 100644 --- a/error.log +++ b/error.log @@ -1,2 +1,19 @@ Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 +Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 +Terminating on signal SIGHUP(1) +Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 +Terminating on signal SIGHUP(1) +Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 +Terminating on signal SIGHUP(1) +Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 +Terminating on signal SIGHUP(1) +Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 +Terminating on signal SIGHUP(1) +Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 +Terminating on signal SIGHUP(1) +Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 +Terminating on signal SIGHUP(1) +Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 +Terminating on signal SIGHUP(1) +Starting Starlight/0.0306 (MSWin32) http server listening at port 6060 diff --git a/gisservicehelper.json b/gisservicehelper.json index 472941d..1c3e8d1 100644 --- a/gisservicehelper.json +++ b/gisservicehelper.json @@ -7,6 +7,11 @@ "timeout":"300", "max-reqs-per-child":"1000" }, + "winservice":{ + "name":"gishelpersrv", + "display":"GIS Helper Server", + "description":"SolInf GIS Helper Service" + }, "database": { "dbhost": "solinf.arvixecloud.com", "dbname": "strassenab", diff --git a/gisservicehelper.pl b/gisservicehelper.pl index 65debb0..71ea98a 100644 --- a/gisservicehelper.pl +++ b/gisservicehelper.pl @@ -5,6 +5,7 @@ use Getopt::Long; use Time::HiRes; use Data::Dumper; use JSON::PP; +use Win32::Daemon; use lib (dirname($0)); use Plack::Builder; use Plack::App::File; @@ -12,19 +13,23 @@ use Plack::Request; use Plack::Runner; use Module::Service; use Module::GISFiles; - +my $START_TIME = time(); +my $DEFAULT_CALLBACK_TIMER = 2000; use FindBin qw($Bin); my $cfgfile = ""; my $stop = 0; +my $install = 0; +my $uninstall = 0; +my $service = 0; my @match = grep { /par-.*inc$/} @INC; my $basedir = dirname($0); if (scalar(@match) > 0){ $basedir = $match[0]; } -print "BASEDIR:".$basedir."\n"; -print $Bin."\n"; -GetOptions("config|c=s" => \$cfgfile, "stop" => \$stop); +# print "BASEDIR:".$basedir."\n"; +# print $Bin."\n"; +GetOptions("config|c=s" => \$cfgfile, "stop" => \$stop, "service" => \$service, "install" => \$install ); #get Configuration file (JSON format) in same folder than exe if ($cfgfile eq ""){ @@ -35,7 +40,51 @@ if (! -e $cfgfile){ print "Config-File: $cfgfile not found!"; exit(1); } - +$| = 1; +if ($service == 1){ + Win32::Daemon::RegisterCallbacks( \&CallbackRoutine ); + my %Context = ( + count => 0, + start_time => time(), + ); + Win32::Daemon::StartService( \%Context, 2000 ); + sub CallbackRoutine { + my( $ControlCommand, $Context ) = @_; + my $Return = undef; + + if( SERVICE_CONTROL_INTERROGATE == $ControlCommand ){ + $Return = Win32::Daemon::State(); + } + elsif( SERVICE_CONTROL_RUNNING == $ControlCommand ){ + } + elsif( SERVICE_CONTROL_TIMER == $ControlCommand ){ + + } + elsif( SERVICE_CONTROL_START == $ControlCommand ){ + $Return = $Context->{last_state} = SERVICE_RUNNING; + } + elsif( SERVICE_CONTROL_PAUSE == $ControlCommand ){ + $Return = $Context->{last_state} = SERVICE_PAUSED; + Win32::Daemon::CallbackTimer( 0 ); + } + elsif( SERVICE_CONTROL_CONTINUE == $ControlCommand ){ + $Return = $Context->{last_state} = SERVICE_RUNNING; + Win32::Daemon::CallbackTimer( $DEFAULT_CALLBACK_TIMER ); + } + elsif( SERVICE_CONTROL_STOP == $ControlCommand ){ + $Context->{last_state} = SERVICE_STOPPED; + Win32::Daemon::State( [ state => SERVICE_STOPPED, error => 1234 ] ); + Win32::Daemon::StopService(); + #exit(0); + } + else{ + $Return = $Context->{last_state}; + } + + return( $Return ); + } +} +# my $LOG_FILE = "$Bin\\testlog.log"; #read config; my $cfg = (); if ($cfgfile ne ""){ @@ -47,58 +96,92 @@ if ($cfgfile ne ""){ close(CFG); $cfg = JSON::PP::decode_json($strcfgdata); } -if ($stop == 1){ - my $pidfile = $Bin.'/'.substr(basename($0),0,rindex(basename($0),'.')).".pid"; - if ($cfg->{webservice}->{"pid"}){ - $pidfile = $cfg->{webservice}->{"pid"}; +#install Windows Service +if ($install == 1){ + if (!exists($cfg->{winservice}->{name})){ + print "we need at least the service name from the configuration-file {...{\"winservice\":{\"name\":\"\"}}...} to install the service\n"; + exit(1); + } + if (!exists($cfg->{winservice}->{display})){ + $cfg->{winservice}->{display} = $cfg->{winservice}->{name}; + } + if (!exists($cfg->{winservice}->{description})){ + $cfg->{winservice}->{description} = $cfg->{winservice}->{display}; } - print $pidfile."\n"; - my $pid = undef; - open(PID,$pidfile); - while (my $l = ){ - chomp($l); - $pid = $l; + #my $ServicePath = $^X; + #my $ServiceParams = "".$Bin.'/'.basename($0); + #if (basename($0) =~ /\.exe$/){ + my $ServicePath = $Bin.'/'.basename($0); + my $ServiceParams = "--service"; + if (dirname($cfgfile) ne $Bin){ + $ServiceParams .= ' -c "'.$cfgfile.'"'; + } + #} + my %service_info = ( + machine => '', + name => $cfg->{winservice}->{name}, + display => $cfg->{winservice}->{display}, + path => $ServicePath, + user => '', + pwd => '', + description => $cfg->{winservice}->{description}, + parameters => $ServiceParams + ); + if( Win32::Daemon::CreateService( \%service_info ) ){ + print "Successfully added.\n"; } - close(PID); - if (defined($pid)){ - system("taskkill.exe /F /PID $pid /T"); - }else { - print "no PID-File found!\n"; + else { + print "Failed to add service: " . Win32::FormatMessage( Win32::Daemon::GetLastError() ) . "\n"; } - unlink($pidfile); exit(0); } +# #uninstall Windows Service +# if ($uninstall == 1){ +# if( Win32::Daemon::DeleteService( '','gishelpersrv' ) ){ +# print "Successfully deleted.\n"; +# } +# else { +# print "Failed to delete Service: " . Win32::FormatMessage( Win32::Daemon::GetLastError() ) . "\n"; +# } +# exit(0); +# } +#stop the Server +if ($stop == 1){ + system("taskkill.exe /F /FI PID ne ".$$." /IM ".basename($0)." /T"); + exit(0); +} -my $gisoptions->{database} = $cfg->{database}; -$gisoptions->{gis} = $cfg->{gis}; + my $gisoptions->{database} = $cfg->{database}; + $gisoptions->{gis} = $cfg->{gis}; -my $allapp = builder { - mount "/gis" => Module::GISFiles->new($gisoptions); - mount "/" => Plack::App::File->new(root => dirname($0)."/htdocs")->to_app; -}; -my @args = (); -if (!exists($cfg->{webservice}->{port})){ - $cfg->{webservice}->{port} = '6060'; -} -my @allowed = ("port","access-log","error-log","timeout","max-workers","max-reqs-per-child","pid"); -foreach my $c (keys(%{$cfg->{webservice}})){ - if ( grep( /^$c$/, @allowed ) ){ - push(@args,"--".$c); - push(@args,$cfg->{webservice}->{$c}); + my $allapp = builder { + mount "/gis" => Module::GISFiles->new($gisoptions); + mount "/" => Plack::App::File->new(root => dirname($0)."/htdocs")->to_app; + }; + my @args = (); + if (!exists($cfg->{webservice}->{port})){ + $cfg->{webservice}->{port} = '6060'; } -} -my $pidfile = $Bin.'/'.substr(basename($0),0,rindex(basename($0),'.')).".pid"; -if ($cfg->{webservice}->{"pid"}){ - $pidfile = $cfg->{webservice}->{"pid"}; -} -open(PID,">".$pidfile); -print PID $$; -close(PID); + my @allowed = ("port","access-log","error-log","timeout","max-workers","max-reqs-per-child","pid"); + foreach my $c (keys(%{$cfg->{webservice}})){ + if ( grep( /^$c$/, @allowed ) ){ + push(@args,"--".$c); + push(@args,$cfg->{webservice}->{$c}); + } + } + # my $pidfile = $Bin.'/'.substr(basename($0),0,rindex(basename($0),'.')).".pid"; + # if ($cfg->{webservice}->{"pid"}){ + # $pidfile = $cfg->{webservice}->{"pid"}; + # } + # open(PID,">".$pidfile); + # print PID $$; + # close(PID); -my $runner = Plack::Runner->new(server => 'Starlight', env => 'deployment'); -$runner->parse_options(@args); -$runner->run($allapp); + my $runner = Plack::Runner->new(server => 'Starlight', env => 'deployment'); + $runner->parse_options(@args); + $runner->run($allapp); + print "Started\n"; -print "Started\n"; + \ No newline at end of file diff --git a/htdocs/img/SOLINF_WEB_72DPI.png b/htdocs/img/SOLINF_WEB_72DPI.png new file mode 100644 index 0000000..3bef3b3 Binary files /dev/null and b/htdocs/img/SOLINF_WEB_72DPI.png differ