]> bicyclesonthemoon.info Git - ott/bsta/commitdiff
move error pages out to common library
authorb <rowerynaksiezycu@gmail.com>
Tue, 26 Mar 2024 09:53:48 +0000 (09:53 +0000)
committerb <rowerynaksiezycu@gmail.com>
Tue, 26 Mar 2024 09:53:48 +0000 (09:53 +0000)
13 files changed:
2words.1.pl
attach.1.pl
bbcode.1.pl
botm-common
bsta_lib.1.pm
chat.1.pl
config
frame.1.pl
goto.1.pl
info.1.pl
opomba.1.pl
settings.txt
viewer.1.pl

index 1bc2d74be5eef2d5c7ea48caa6b2960aaa8061d2..5f0f94192010c0e97232f4c551bae4516e412f42 100644 (file)
@@ -28,6 +28,7 @@ use Encode ('encode', 'decode');
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
        'HTTP_STATUS',
+       'fail_method', 'fail_content_type',
        'http_header_status', 'http_header_allow',
        'merge_url',
        'read_header_env',
@@ -38,7 +39,6 @@ use botm_common (
 use bsta_lib (
        'STATE', 'INTF_STATE',
        'get_id',
-       'fail_method', 'fail_content_type',
        'print_html_start', 'print_html_end',
        'print_html_head_start', 'print_html_head_end',
        'print_html_body_start', 'print_html_body_end',
index cb34f63e996a200797fb9361189e94278e1e8286..4adfce4b26c7df5f298a8176ad60a0f651a007e3 100644 (file)
@@ -28,6 +28,8 @@ use Encode ('encode', 'decode');
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
        'HTTP_STATUS',
+       'fail_method', 'fail_content_type', 'fail_attachment', 'fail_500',
+       'redirect',
        'read_header_env',
        'url_query_decode',
        'join_path',
@@ -39,8 +41,6 @@ use bsta_lib (
        'STATE',
        'merge_settings',
        'get_id', 'get_password',
-       'fail_method', 'fail_content_type', 'fail_attachment', 'fail_500',
-       'redirect',
        'read_settings', 'read_state', 'read_attachment'
 );
 
index 28e5e6d4bf612801dbc83270bbafc5b7a40b50cc..089d557c37676d17f60aab19c11eb2009beaf043 100644 (file)
@@ -28,6 +28,7 @@ use Encode ('encode', 'decode');
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
        'HTTP_STATUS',
+       'fail_method', 'fail_content_type',
        'read_header_env',
        'url_query_decode',
        'merge_url',
@@ -35,7 +36,6 @@ use botm_common (
 );
 use bsta_lib (
        'STATE',
-       'fail_method', 'fail_content_type',
        'get_frame', 'get_password',
        'merge_settings',
        'eval_bb', 'bb_to_bbcode',
index f0a6abfdebbbfd1b578d7339df1627f1afacd2be..599a7e9a41f68c89f64cd982db730167d2acf28e 160000 (submodule)
@@ -1 +1 @@
-Subproject commit f0a6abfdebbbfd1b578d7339df1627f1afacd2be
+Subproject commit 599a7e9a41f68c89f64cd982db730167d2acf28e
index 0e451031d74c71c4bdf69456721523c0791ddfa0..781ee0ed7a3a4cdba827619da059fe2bd9a936e3 100644 (file)
@@ -36,9 +36,6 @@ our @ISA         = qw(Exporter);
 our @EXPORT      = ();
 our @EXPORT_OK   = (
        'STATE', 'TEXT_MODE', 'INTF_STATE', 'CHAT_STATE', 'CHAT_ACTION',
-       'failpage',
-       'fail_method', 'fail_content_type', 'fail_open_file', 'fail_attachment', 'fail_500',
-       'redirect',
        'get_remote_addr', 'get_id', 'get_frame', 'get_password',
        'merge_settings',
        'print_html_start', 'print_html_end',
@@ -230,161 +227,6 @@ use constant tags_html => {
 };
 
 
-# Function to return an error page
-# arguments: 1 - header fields, 2 - page title, 3 - error message, 4 method
-sub failpage {
-       (my $header, my $title, my $message, my $method, my $hyperlink) = @_;
-       
-       if (ref($header)) {
-               foreach my $header_name (keys %$header) {
-                       print http_header_line($header_name, $header->{$header_name});
-               }
-       }
-       elsif($header ne '') {
-               print $header;
-       }
-       if($method eq 'HEAD') {
-               print "\n";
-               return;
-       }
-       my $_title     = html_entity_encode_dec($title    , 1);
-       my $_message   = html_entity_encode_dec($message  , 1);
-       my $_hyperlink = html_entity_encode_dec($hyperlink, 1);
-       
-       print "Content-type: text/html; charset=UTF-8\n\n";
-       
-       print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">'."\n";
-       print ' <html lang="en">'."\n";
-       print '  <head>'."\n";
-       print '   <meta http-equiv="Content-type" content="text/html; charset=UTF-8">'."\n";
-       if ($title ne '') {
-               print '   <title>'.$_title.'</title>'."\n";
-       }
-       print '  </head>'."\n";
-       print ' <body>'."\n";
-       if ($title ne '') {
-               print '  <h1>'.$_title.'</h1>'."\n";
-       }
-       if (($message ne '') || ($hyperlink ne '')) {
-               print "  <p>\n";
-               if ($message ne '') {
-                       print '   '.$_message.($hyperlink ne '' ? '<br>' : '')."\n";
-               }
-               if ($hyperlink ne '') {
-                       print '   <a href="'.$_hyperlink.'">'.$_hyperlink."</a>\n";
-               }
-               print "  </p>\n";
-       }
-       print ' </body>'."\n";
-       print '</html>'."\n";
-}
-
-sub fail_method {
-       (my $method, my $allowed) = @_;
-       
-       my $status = http_status(HTTP_STATUS->{'method_not_allowed'});
-       my $header =
-               http_header_line('status', $status) .
-               http_header_allow($allowed);
-       
-       return failpage(
-               $header,
-               $status,
-               "The interface does not support the $method method.",
-               $method
-       );
-}
-
-sub fail_content_type
-{
-       (my $method, my $content_type) = @_;
-       
-       my $status = http_status(HTTP_STATUS->{'unsupported_media_type'});
-       my $header = http_header_line('status', $status);
-       
-       return failpage(
-               $header,
-               $status,
-               "Unsupported Content-type: $content_type.",
-               $method
-       );
-}
-
-sub fail_open_file
-{
-       (my $method, my $type, my $path) = @_;
-       
-       my $status = http_status(HTTP_STATUS->{'not_found'});
-       my $header = http_header_line('status', $status);
-       
-       return failpage(
-               $header,
-               $status,
-                       "Can't open ".
-                       ($type ne '' ? $type : 'file').
-                       ($path ne '' ? ': "'.$path.'"' : '').
-                       '.',
-               $method
-       );
-}
-
-sub fail_attachment
-{
-       (my $method, my $ID) = @_;
-       
-       my $status = http_status(HTTP_STATUS->{'not_found'});
-       my $header = http_header_line('status', $status);
-
-       return failpage(
-               $header,
-               $status,
-               "Attachment $ID not found.",
-               $method
-       );
-}
-
-sub fail_500
-{
-       (my $method, my $text) = @_;
-       
-       my $status = http_status(HTTP_STATUS->{'internal_server_error'});
-       my $header = http_header_line('status', $status);
-       
-       return failpage(
-               $header,
-               $status,
-               $text,
-               $method
-       );
-}
-
-sub redirect
-{
-       (my $method, my $uri, my $code) = @_;
-       my $header;
-       my $status;
-       if ($code eq '') {
-               $code = HTTP_STATUS->{'found'};
-       }
-       # https://insanecoding.blogspot.com/2014/02/http-308-incompetence-expected.html
-       # 301 Moved Permanently
-       # 302 Found
-       # 303 See Other
-       # 307 Temporary Redirect
-       # 308 Permanent Redirect
-       $status = http_status($code);
-       $header = http_header_line('status', $status);
-       $header .= http_header_location($uri);
-       
-       return failpage(
-               $header,
-               $status,
-               '',
-               $method,
-               $uri
-       );
-}
-
 
 # function to obtain address of remote agent
 sub get_remote_addr {
index 90ea637323a58d57d762aa154bc5db3e71bdadc0..73c7ce9fa668b42b395b6e1e6886a605f326f01f 100644 (file)
--- a/chat.1.pl
+++ b/chat.1.pl
@@ -29,6 +29,7 @@ use Encode ('encode', 'decode');
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
        'HTTP_STATUS',
+       'fail_method', 'fail_content_type',
        'read_header_env',
        'url_query_decode', 'url_query_encode',
        'merge_url',
@@ -38,7 +39,6 @@ use botm_common (
 );
 use bsta_lib (
        'STATE', 'CHAT_STATE', 'CHAT_ACTION',
-       'fail_method', 'fail_content_type',
        'get_remote_addr', 'get_id', 'get_password',
        'print_html_start', 'print_html_end',
        'print_html_head_start', 'print_html_head_end',
diff --git a/config b/config
index fc9affec336a16cde93b2675a836bdd01d1c2210..352e86fd3d4afab9adb6c340d236f501f3d91560 160000 (submodule)
--- a/config
+++ b/config
@@ -1 +1 @@
-Subproject commit fc9affec336a16cde93b2675a836bdd01d1c2210
+Subproject commit 352e86fd3d4afab9adb6c340d236f501f3d91560
index a0a81fd8acb11d352a285d193cd23a4cb312bec4..ea9db038861154b2696bea1aaa4475a8b333cd0e 100644 (file)
@@ -28,6 +28,7 @@ use Encode ('encode', 'decode');
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
        'HTTP_STATUS',
+       'fail_method', 'fail_content_type', 'fail_open_file', 'fail_500', 'redirect',
        'read_header_env',
        'url_query_decode',
        'join_path',
@@ -37,7 +38,6 @@ use botm_common (
 );
 use bsta_lib (
        'STATE', 'INTF_STATE',
-       'fail_method', 'fail_content_type', 'fail_open_file', 'fail_500', 'redirect',
        'get_frame', 'get_password',
        'merge_settings',
        'get_frame_file',
index 37feb2391c8998200426ea87d32912269da2daf2..8588e259491ace99ec3c2d6e4c964763559f68be 100644 (file)
--- a/goto.1.pl
+++ b/goto.1.pl
@@ -27,14 +27,14 @@ use Encode ('encode', 'decode');
 
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
+       'fail_method', 'fail_content_type',
+       'redirect',
        'read_header_env',
        'url_query_decode',
        '_x_encoded'
 );
 use bsta_lib (
        'STATE',
-       'fail_method', 'fail_content_type',
-       'redirect',
        'get_password',
        'print_goto',
        'merge_settings',
index 377809261ca7a24846e1cf8470f1242e0bff4aea..dfab493aa4a553ba1ff74e159a9c3ed83bda202d 100644 (file)
--- a/info.1.pl
+++ b/info.1.pl
@@ -28,6 +28,7 @@ use Encode ('encode', 'decode');
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
        'HTTP_STATUS',
+       'fail_method', 'fail_content_type',
        'http_header_status',
        'read_header_env',
        'write_data_file',
@@ -35,7 +36,6 @@ use botm_common (
 );
 use bsta_lib (
        'STATE',
-       'fail_method', 'fail_content_type',
        'get_password',
        'merge_settings',
        'get_page_file', 'get_frame_file',
index 639097a9774708b42f646d866ccc3a58fe016bd0..1821df55414ffc57be1762f3434c4f0e604761dc 100644 (file)
@@ -28,6 +28,8 @@ use Encode ('encode', 'decode');
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
        'HTTP_STATUS',
+       'fail_method', 'fail_content_type',
+       'redirect',
        'read_header_env', 'url_query_decode',
        'write_data_file',
        'html_entity_encode_dec',
@@ -40,8 +42,6 @@ use botm_common (
 use bsta_lib (
        'TEXT_MODE', 'STATE',
        'get_password',
-       'fail_method', 'fail_content_type',
-       'redirect',
        'print_html_start', 'print_html_end',
        'print_html_head_start', 'print_html_head_end',
        'print_html_body_start', 'print_html_body_end',
@@ -51,7 +51,6 @@ use bsta_lib (
        'read_settings', 'read_state',
        'read_words', 'write_words',
        'read_words_list', 'write_words_list'
-       
 );
 
 ###PERL_PATH_SEPARATOR:     PATH_SEPARATOR     = /
index 1d7117d7e3e29b25fbb6b70fe73734facad776ee..e5dd7100db443b2a3a9a4e02233f4105a0f0569e 100644 (file)
@@ -15,7 +15,7 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-_version: 1.2.8
+_version: 1.2.9
 
 _SHEBANG: #!$0
 
index 97f0434f55654af3825261e485d3465bac820d6b..69c0abaad567a6489ed6216ec405787783e3967c 100644 (file)
@@ -28,6 +28,7 @@ use Encode ('encode', 'decode');
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
        'HTTP_STATUS',
+       'fail_method', 'fail_content_type', 'redirect',
        'read_header_env',
        'url_query_decode',
        'join_path',
@@ -37,7 +38,6 @@ use botm_common (
 );
 use bsta_lib (
        'STATE', 'TEXT_MODE', 'INTF_STATE',
-       'fail_method', 'fail_content_type', 'redirect',
        'get_remote_addr', 'get_frame', 'get_password',
        'merge_settings',
        'print_viewer_page',