package Moxy::Plugin::Hosts; use strict; use warnings; use base qw/Moxy::Plugin/; sub request_filter :Hook { my ($self, $context, $args) = @_; my $hosts = $self->config->{config}->{hosts}; my $uri = $args->{request}->uri; if (my $ip = $hosts->{$uri->host}) { my $host = $uri->host; $context->log( debug => " $host -> $ip " ); $uri->host($ip); $args->{request}->uri($uri); $args->{request}->header( Host => $host ); $self->{original_host} = $host; } } sub response_filter :Hook { my ($self, $context, $args) = @_; my $uri = $args->{response}->request->uri; $uri->host($self->{original_host}); $args->{response}->request->uri($uri); } 1; __END__ =for stopwords coderepos.org =head1 NAME Moxy::Plugin::Hosts - /etc/hosts file emulator =head1 SYNOPSIS - module: Hosts config: hosts: coderepos.org: 192.168.0.1 =head1 AUTHOR Kazuhiro Osawa =head1 SEE ALSO L