Re: how to extract the "body" of a HTTP_Request2 request?
| From: | Robert P. J. Day | Date: | Thu, 04 Mar 2010 09:48:09 +0000 |
| Subject: | Re: how to extract the "body" of a HTTP_Request2 request? | ||
| References: | 1 2 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-30357@lists.php.net to get a copy of this message | ||
On Thu, 4 Mar 2010, Alexey Borzov wrote:
> Hi Robert,
>
> On 04.03.2010 2:13, Robert P. J. Day wrote:
> > just getting started with the HTTP_Request2 class, and i want
> > to create a POST request that passes potentially lots of data as
> > uploaded content. from the class definition in Request2.php, i
> > can see:
> >
> > /**
> > * Sets the request body
> > *
> > * @param string Either a string with the body or filename> > containing
> > body
> > * @param bool Whether first parameter is a filename
> > * @return HTTP_Request2
> > * @throws HTTP_Request2_Exception
> > */
> > public function setBody($body, $isFilename = false)
> > ... snip ...
> >
> >
> > fair enough but, once i send off the POST request to the remote
> > PHP file, how do i access that "body" content? i'm sure this is
> > just a trivial POST issue. i can examine
> > $_SERVER['CONTENT_LENGTH'] to see the *length* of the body, but i
> > don't know what variable to use to get the content itself. help?
>
> Please clarify: are you going to send a custom POST body (as in
> XML-RPC or SOAP) or emulate POST file upload?
>
> In the former case you access the body via php://input stream, in
> the latter case you need addUpload() rather than setBody() and just
> access the $_FILES array as usual.
given that i don't know a whole lot (read: nothing) about custom
POST bodies, here's what i'm after. i want to put together a POST
request with which i can upload one or more POST parameters, plus an
arbitrary amount of content. i can't use the file upload feature
since i may not have a filename to go with the data, i'm just going to
be handed that content.
i know i can use addPostParameter() to pass those POST parameters,
and i can extract them at the other end by referring to $_POST. that
part's easy. but i don't see how to extend that to *additionally*
passing that single large chunk of content.
i suspect i could just make that another POST parameter whose value
would be a massively long stream of bytes. is there anything untoward
about that? or is there a better (more approved) way of doing what
i'm after? can i combine adding POST parameters with setting the
body?
rday
--
========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA
Linux Consulting, Training and Kernel Pedantry.
Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
========================================================================