lib/Odin.pm: Leave reading user configuration to the very end.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 24 Jul 2015 17:54:01 +0000 (18:54 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 24 Jul 2015 18:18:02 +0000 (19:18 +0100)
The configuration file might want to call into the library for things.

lib/Odin.pm

index 27b2e8b..a704165 100644 (file)
@@ -41,14 +41,10 @@ our %COOKIE_DEFAULTS = (
   -max_age => 3600
 );
 
-require "config.pl";
 
-our ($SCHEME, $DOMAIN, $BASEPATH) = $BASEURL =~ m!^([^:]+)://([^/]+)(/.*)$!;
-merge_hash %COOKIE_DEFAULTS, -domain => $DOMAIN, -path => $BASEPATH;
-merge_hash %COOKIE_DEFAULTS, -secure => undef if $SCHEME eq "https";
 
-our $SHORTURL = "$BASEURL$SHORTURL_PATH";
-our $PASTEBIN = "$BASEURL$PASTEBIN_PATH";
+our ($SCHEME, $DOMAIN, $BASEPATH);
+our ($SHORTURL, $PASTEBIN);
 
 ###--------------------------------------------------------------------------
 ### Miscellaneous utilities.
@@ -509,6 +505,20 @@ sub bad { $_[0]->{ok} = 0; }
 sub err { $_[0]->bad; print STDERR "$PROG: $_[1]\n"; }
 sub unk { $_[0]->err("unknown option `-$_[0]->{opt}'"); }
 
+###--------------------------------------------------------------------------
+### Final configuration.
+
+package Odin;
+
+require "config.pl";
+
+($SCHEME, $DOMAIN, $BASEPATH) = $BASEURL =~ m!^([^:]+)://([^/]+)(/.*)$!;
+merge_hash %COOKIE_DEFAULTS, -domain => $DOMAIN, -path => $BASEPATH;
+merge_hash %COOKIE_DEFAULTS, -secure => undef if $SCHEME eq "https";
+
+$SHORTURL = "$BASEURL$SHORTURL_PATH";
+$PASTEBIN = "$BASEURL$PASTEBIN_PATH";
+
 ###----- That's all, folks --------------------------------------------------
 
 1;