CGI :: Emulate :: PSGI - Adaptor PSGI untuk CGI
my $app = CGI::Emulate::PSGI->handler(sub {
# Existing CGI code
});
Modul ini memungkinkan aplikasi yang dirancang untuk lingkungan CGI berjalan di lingkungan PSGI, dan dengan demikian pada salah satu backend yang didukung PSGI.
Ini bekerja dengan menerjemahkan lingkungan yang disediakan oleh spesifikasi PSGI ke yang diharapkan oleh spesifikasi CGI. Demikian juga, ia menangkap output karena akan disiapkan untuk standar CGI, dan menerjemahkannya ke format yang diharapkan untuk standar PSGI menggunakan modul CGI :: Parse :: PSGI.
Jika aplikasi Anda menggunakan CGI, pastikan untuk membersihkan variabel global di loop pawang sendiri, jadi:
my $app = CGI::Emulate::PSGI->handler(sub {
use CGI;
CGI::initialize_globals();
my $q = CGI->new;
# ...
});
Jika tidak, variabel permintaan sebelumnya akan digunakan kembali dalam permintaan baru.
Atau, Anda dapat menginstal dan menggunakan CGI :: Kompilasi dari CPAN dan menyusun skrip CGI yang ada menjadi sub yang siap dikonversi ke aplikasi PSGI menggunakan modul ini.
my $sub = CGI::Compile->compile("/path/to/script.cgi");
my $app = CGI::Emulate::PSGI->handler($sub);
Ini akan menangani penetapan namespace yang unik untuk setiap skrip dll. Lihat CGI :: Kompilasi untuk detailnya.
Anda juga dapat mempertimbangkan menggunakan CGI :: PSGI tetapi itu akan mengharuskan Anda untuk sedikit mengubah kode dari:
my $q = CGI->new;
# ...
print $q->header, $output;
ke dalam:
use CGI::PSGI;
my $app = sub {
my $env = shift;
my $q = CGI::PSGI->new($env);
# ...
return [ $q->psgi_header, [ $output ] ];
};
Lihat CGI :: PSGI untuk detailnya.
pawang
my $app = CGI::Emulate::PSGI->handler($code);
Membuat referensi kode aplikasi PSGI dari referensi kode CGI.
emulate_environment
my %env = CGI::Emulate::PSGI->emulate_environment($env);
Menciptakan hash lingkungan dari hash lingkungan PSGI. Jika kode atau kerangka kerja Anda hanya perlu emulasi variabel lingkungan, gunakan metode ini seperti:
local %ENV = (%ENV, CGI::Emulate::PSGI->emulate_environment($env));
# run your application
Jika Anda menggunakan metode handler untuk membuat hash lingkungan PSGI, ini secara otomatis dipanggil dalam aplikasi yang dibuat.
Tokuhiro Matsuno [email protected]
Tatsuhiko Miyagawa
Hak Cipta (C) 2009-2010 oleh Tokuhirom.
Program ini adalah perangkat lunak gratis; Anda dapat mendistribusikannya kembali dan/atau memodifikasinya dengan persyaratan yang sama dengan Perl itu sendiri.
Teks lengkap lisensi dapat ditemukan di file lisensi yang disertakan dengan modul ini.
Psgi cgi :: kompilasi cgi :: psgi plack cgi :: parse :: psgi