hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roland Weber <ROLWE...@de.ibm.com>
Subject Re: [RFE] provide request entities in a more abstract way
Date Thu, 26 Feb 2004 10:22:26 GMT
Hello Odi,

is this meant as an extension or as a replacement for
directly passing the InputStream? In the second case,
I would add something like isRepeatable() to handle cases
where it is indeed not possible to read the data twice.
I'd prefer an explicit check to some exception being
thrown from getAsStream(), where every implementor
may decide for a different class and/or message.

Can you fill me in on the details of the POST request:
does the InputStream provide the full HTTP message
body (entity) for the request, or is it possible to send
multiple parameters, each of them being a file or string
or something else? In the second case, RequestEntity
is probably a misleading name for the interface.

cheers,
  Roland






Ortwin Glück <ortwin.glueck@nose.ch>
26.02.2004 10:46
Please respond to "Commons HttpClient Project"
 
        To:     Commons HttpClient Project 
<commons-httpclient-dev@jakarta.apache.org>
        cc: 
        Subject:        [RFE] provide request entities in a more abstract 
way


Providing only an InputStream as a request body is not enough. We can 
not automatically repeat such a request since we are unable to reset the 
input stream without buffering it. I suggest we introduce an abstraction 
for the source of request entities such as:

interface RequestEntity {
   /**
    * Provides an input stream of the request entity. The method may be 
called
    * more than once and must provide a virgin stream upon each call.
    */
   InputStream getAsStream();
}

We can then provide convenience classes that implement this interface, 
such as:

* class StringRequestEntity implements RequestEntity

* class FileRequestEntity implements RequestEntity

etc.

What does everybody think about this?

Odi
-- 
  _________________________________________________________________
  NOSE applied intelligence ag

  ortwin glück                      [www]      http://www.nose.ch
  software engineer                 [email] ortwin.glueck@nose.ch
  hardturmstrasse 171               [pgp id]           0x81CF3416
  8005 zürich                       [office]      +41-1-277 57 35
  switzerland                       [fax]         +41-1-277 57 12


---------------------------------------------------------------------
To unsubscribe, e-mail: 
commons-httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: 
commons-httpclient-dev-help@jakarta.apache.org



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message