| OpenResty documentation | Contained in the OpenResty distribution. |
OpenResty::Handler::Version - The version handler for OpenResty
use OpenResty::Handler::Version;
$data = OpenResty::Handler::Version->GET_version($openresty, \@url_bits);
This OpenResty handler class implements the Version API, i.e., the /=/version interface.
Typically it returns something like this
"0.3.9"
More detailed information can be obtained by GET /=/version/more:
"OpenResty 0.3.9 (revision 1682) with the PgFarm (op901000) backend.\nCopyright (c) 2007-2008 by Yahoo! China EEEE Works, Alibaba Inc.\n"
$data = OpenResty::Handler::Version->GET_version($openresty, \@url_bits)Agent Zhang (agentzh) <agentzh@yahoo.cn>
| OpenResty documentation | Contained in the OpenResty distribution. |
package OpenResty::Handler::Version; use strict; use warnings; use FindBin; use OpenResty; use OpenResty::Util; use File::Spec; use File::ShareDir qw( module_dir ); use base 'OpenResty::Handler::Base'; __PACKAGE__->register('version'); sub requires_acl { undef } sub level2name { qw< version version_verbose >[$_[-1]] } our $Revision; sub trim { (my $s = $_[0]) =~ s/\s+//gs; $s; } sub GET_version { OpenResty->version } sub GET_version_verbose { my ($self, $openresty, $bits) = @_; if (!defined $Revision) { my $path = "$FindBin::Bin/../share/openresty_revision"; unless (-f $path) { my $dir; eval { $dir = module_dir('OpenResty'); }; if ($@) {$Revision = 'Unknown'; } else { $path = File::Spec->catfile(module_dir('OpenResty'), 'openresty_revision'); } } my $s; eval { $s = slurp($path); }; if ($@) { $Revision = 'Unknown'; } else { $Revision ||= trim($s) || 'Unknown'; } } my $backend = $OpenResty::BackendName; if ($backend eq 'PgFarm') { my $host = $OpenResty::Backend::PgFarm::Host; if ($host =~ /[-\w]+/) { $host = $&; } $backend .= " ($host)"; } my $ver = OpenResty->version; return "OpenResty $ver (revision $Revision) with the $backend backend.\nCopyright (c) 2007-2008 by Yahoo! China EEEE Works, Alibaba Inc.\n"; } 1; __END__