diff options
| author | franck cuny <franck@lumberjaph.net> | 2010-06-08 13:18:38 +0200 |
|---|---|---|
| committer | franck cuny <franck@lumberjaph.net> | 2010-06-08 13:18:38 +0200 |
| commit | 548f1a38f43a1b5da435b3a7c778f5ec3471f2f2 (patch) | |
| tree | 4b36535807ec253033bc6f4ba0f259e62c74d1f6 /lib/Net/HTTP/Console/Dispatcher/Headers.pm | |
| parent | update name of api methods; fetch doc from method (diff) | |
| download | net-http-console-548f1a38f43a1b5da435b3a7c778f5ec3471f2f2.tar.gz | |
update regex; modify http methods; ..
Diffstat (limited to 'lib/Net/HTTP/Console/Dispatcher/Headers.pm')
| -rw-r--r-- | lib/Net/HTTP/Console/Dispatcher/Headers.pm | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/lib/Net/HTTP/Console/Dispatcher/Headers.pm b/lib/Net/HTTP/Console/Dispatcher/Headers.pm new file mode 100644 index 0000000..4c29098 --- /dev/null +++ b/lib/Net/HTTP/Console/Dispatcher/Headers.pm @@ -0,0 +1,49 @@ +package Net::HTTP::Console::Dispatcher::Headers; + +use Moose; +with qw/Net::HTTP::Console::Dispatcher/; + +sub dispatch { + my ($self, $input) = @_; + + (my $command, my $header, my $value) = + $input =~ /^([\w_]+)(?:\s([\w-]+))?(?:\s(.*))?$/; + + if ($command eq 'unset_header') { + $self->_unset_header($header); + } + elsif ($command eq 'set_header') { + $self->_set_header($header, $value); + } + elsif ($command eq 'show_defined_headers') { + $self->_show_defined_headers(); + } +} + +sub pattern { + my ($self, $input) = @_; + $input =~ /(un)?set_header|show_defined_headers/ + ? return $input + : return 0; +} + +sub _unset_header { + my ($self, $header) = @_; + $self->application->delete_header($header); + print "header $header unset\n"; +} + +sub _set_header { + my ($self, $header, $value) = @_; + $self->application->set_header($header, $value); + print "header $header set to $value\n"; +} + +sub _show_defined_headers{ + my $self = shift; + foreach ($self->application->all_headers) { + print $_->[0].": ".$_->[1]."\n"; + } +} + +1; |
