Hi

Can the HTTP::Response object be used directly in a server cgi script and if so, how should I use it to get it to work as expected...

A couple of ways

* it might work to simply configure/tell apache to treat cgi programs as "NPH", simple as naming the program with "nph-" like "nph-yada.cgi"

* Skip as_string, but copy what as_string does and edit it to remove the parts that dont comply with CGI protocol

* use CGI module for interacting with CGI not HTTP module

** CGI Help Guide

Hello monks I would expect the direct use of HTTP::Response object in a cgi script to deliver the correct output

Why?

Common Gateway Interface is different from HTTP

The CGI.pm module exists to take care of interacting with the webserver(apache) using CGI

It appears to me that the HTTP:Response object, when using method '->as_string', does not send (at least) the correct formatted status line.

The purpose of as_string is diagnostics, it provides a textual representation. HTTP is not as simple as  print $req->as_string;, but you're not dealing with plain HTTP, you're dealing with CGI

 

HTTP::Request::AsCGI, HTTP::Response::CGI


In reply to Re: using HTTP::Response directly to speak CGI by Anonymous Monk
in thread using HTTP::Response directly by Habs

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.