in reply to SOAP::Lite and HTTP status line

You have two choices - hack the module and send a patch, or file a feature request, i.e. bother the author of the module to do it. But IMHO there should be a switch for nph - as CGI has it.

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}

Replies are listed 'Best First'.
Re^2: SOAP::Lite and HTTP status line
by Hue-Bond (Priest) on Sep 23, 2006 at 18:22 UTC
    IMHO there should be a switch for nph

    I tried to modify SOAP/Transport/HTTP.pm. Since I hardly have any experience at patching others' code, I thought it would be a good idea to ask for advice here instead of submitting a possibly wrong bug report/fix. Well, this is the original code of S::T::H::CGI::handle:

    And I applied these changes:

    # imitate nph- cgi for IIS (pointed by Murray Nesbitt) - my $status = defined($ENV{'SERVER_SOFTWARE'}) && $ENV{'SERVER_SOFTW +ARE'}=~/IIS/ - ? $ENV{SERVER_PROTOCOL} || 'HTTP/1.0' : 'Status:'; + my $status; + if ($self->{'nph'}) { + $status = $ENV{SERVER_PROTOCOL} || 'HTTP/1.0'; + } else { + $status = defined($ENV{'SERVER_SOFTWARE'}) && $ENV{'SERVER_SOFTWA +RE'}=~/IIS/ + ? $ENV{SERVER_PROTOCOL} || 'HTTP/1.0' : 'Status:'; + } my $code = $self->response->code;

    Plus, I added a nph function:

    sub nph { my $self = shift; $self->{'nph'} = 1; return $self; }

    So now, I just add a call to nph and I get a proper HTTP response:

    SOAP::Transport::HTTP::CGI ->dispatch_to ('/home/hue/lang/perl/modules', 'HelloWorld') ->nph ->handle;

    Do you monks thing it's ok to submit this? Thank you for your valuable input.

    --
    David Serrano

      I think that's perfectly ok for submission.

      --shmem

      _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                    /\_¯/(q    /
      ----------------------------  \__(m.====·.(_("always off the crowd"))."·
      ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}