Haineko
view release on metacpan or search on metacpan
lib/Haineko/HTTPD.pm view on Meta::CPAN
127128129130131132133134135136137138139140141142143144145146unless
(
$mesg
) {
# If the second argument is omitted, use "404 Not found" as a JSON.
$mesg
= Haineko::SMTPD::Response->r(
'http'
,
'not-found'
)->damn;
}
if
(
ref
$mesg
eq
'HASH'
) {
# Respond as a JSON
my
$addr
= [
split
(
','
,
$self
->req->header(
'X-Forwarded-For'
) ||
q()
) ];
my
$sess
= Haineko::SMTPD::Session->new(
'referer'
=>
$self
->req->referer //
undef
,
'response'
=> [
$mesg
],
'remoteaddr'
=>
pop
@$addr
||
$self
->req->address //
undef
,
'remoteport'
=>
$self
->req->env->{
'REMOTE_ADDR'
} //
undef
,
'useragent'
=>
$self
->req->user_agent //
undef
,
)->damn;
$sess
->{
'queueid'
} =
undef
;
return
$self
->response->json(
$code
,
$sess
);
lib/Haineko/Root.pm view on Meta::CPAN
111213141516171819202122232425262728293031
my
$neko1
= {
'name'
=>
$httpd
->name,
'version'
=>
$Haineko::VERSION
};
return
$httpd
->res->json( 200,
$neko1
);
}
sub
info {
# GET /dump, /conf
my
$class
=
shift
;
my
$httpd
=
shift
;
my
$xforwarded
= [
split
(
','
,
$httpd
->req->header(
'X-Forwarded-For'
) ||
q()
) ];
my
$remoteaddr
=
pop
@$xforwarded
||
$httpd
->req->address //
undef
;
my
$ip4network
=
undef
;
# Only 127.0.0.1 is permitted
$ip4network
= Net::CIDR::Lite->new(
'127.0.0.1/32'
);
if
(
$ip4network
->find(
$remoteaddr
) ) {
my
$requesturl
=
$httpd
->req->path_info;
lib/Haineko/Sample.pm view on Meta::CPAN
123456789101112131415161718192021package
Haineko::Sample;
use
strict;
use
warnings;
use
utf8;
sub
mail {
my
$class
=
shift
;
my
$httpd
=
shift
;
my
$xforwarded
= [
split
(
','
,
$httpd
->req->header(
'X-Forwarded-For'
) ||
q()
) ];
my
$remoteaddr
=
pop
@$xforwarded
||
$httpd
->req->address //
undef
;
my
$samplemail
= [
{
'mail'
=>
'envelope-sender-address@example.org'
,
'rcpt'
=> [
'envelope-recipient-address-1@example.jp'
],
'ehlo'
=>
sprintf
(
"[%s]"
,
$remoteaddr
),
'body'
=>
'Email message body'
,
'header'
=> {
'from'
=>
'Your Name <email-from-addr@example.com>'
,
'subject'
=>
'Email subject'
,
lib/Haineko/Sendmail.pm view on Meta::CPAN
202122232425262728293031323334353637383940my
$defaultset
= Haineko::Default->conf;
my
$responsecn
=
'Haineko::SMTPD::Response'
;
my
$responsejk
=
'response'
;
# (String) Response json key name
my
$exceptions
= 0;
# (Integer) Flag, be set in try {...} catch { ... }
my
$tmpsession
=
undef
;
# (Haineko::SMTPD::Session) Temporary session object
# Create a queue id (session id)
my
$queueident
= Haineko::SMTPD::Session->make_queueid;
# Variables related user information such as hostname or port number.
my
$xforwarded
= [
split
(
','
,
$httpd
->req->header(
'X-Forwarded-For'
) ||
q()
) ];
my
$remoteaddr
=
pop
@$xforwarded
||
$httpd
->req->address //
undef
;
my
$remoteport
=
$httpd
->req->env->{
'REMOTE_PORT'
} //
undef
;
my
$remotehost
=
$httpd
->req->env->{
'REMOTE_HOST'
} //
undef
;
my
$remoteuser
=
$httpd
->req->env->{
'REMOTE_USER'
} //
undef
;
my
$useragent1
=
$httpd
->req->user_agent //
undef
;
# Syslog object
my
$syslogargv
= {
'queueid'
=>
$queueident
,
'facility'
=>
$serverconf
->{
'syslog'
}->{
'facility'
},
( run in 0.389 second using v1.01-cache-2.11-cpan-eab888a1d7d )