You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by am...@apache.org on 2004/05/11 15:39:35 UTC

cvs commit: xml-xerces/c/src/xercesc/util/NetAccessors/libWWW LibWWWNetAccessor.cpp LibWWWNetAccessor.hpp

amassari    2004/05/11 06:39:35

  Modified:    c/src/xercesc/util XMLNetAccessor.hpp
               c/src/xercesc/util/NetAccessors/MacOSURLAccess
                        MacOSURLAccess.cpp MacOSURLAccess.hpp
               c/src/xercesc/util/NetAccessors/MacOSURLAccessCF
                        MacOSURLAccessCF.cpp MacOSURLAccessCF.hpp
               c/src/xercesc/util/NetAccessors/Socket SocketNetAccessor.cpp
                        SocketNetAccessor.hpp UnixHTTPURLInputStream.cpp
                        UnixHTTPURLInputStream.hpp
               c/src/xercesc/util/NetAccessors/WinSock
                        BinHTTPURLInputStream.cpp BinHTTPURLInputStream.hpp
                        WinSockNetAccessor.cpp WinSockNetAccessor.hpp
               c/src/xercesc/util/NetAccessors/libWWW LibWWWNetAccessor.cpp
                        LibWWWNetAccessor.hpp
  Log:
  The net accessor input source now can be used to get data using PUT or POST, as well as GET
  
  Revision  Changes    Path
  1.6       +50 -2     xml-xerces/c/src/xercesc/util/XMLNetAccessor.hpp
  
  Index: XMLNetAccessor.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLNetAccessor.hpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- XMLNetAccessor.hpp	15 May 2003 19:07:46 -0000	1.5
  +++ XMLNetAccessor.hpp	11 May 2004 13:39:35 -0000	1.6
  @@ -68,6 +68,53 @@
   
   class BinInputStream;
   
  +//  This class holds advanced informations about the HTTP connection
  +class XMLUTIL_EXPORT XMLNetHTTPInfo
  +{
  +public:
  +    XMLNetHTTPInfo();
  +
  +    typedef enum {
  +        GET,
  +        PUT,
  +        POST,
  +    } HTTPMethod;
  +
  +    // -----------------------------------------------------------------------
  +    //  Data members
  +    //
  +    //  fHTTPMethod
  +    //      The type of the HTTP request
  +    //
  +    //  fHeaders
  +    //      The extra headers that will be sent as part of the request; the format is
  +    //      Header1: Value\r\nHeader2: Value\r\n
  +    //
  +    //  fHeadersLen
  +    //      The length of the string pointed by fHeaders, in bytes
  +    //
  +    //  fPayload
  +    //      The extra data that will be sent after the headers; in the case of a PUT
  +    //      operation, this is the content of the resource being posted. It can be binary data
  +    //
  +    //  fPayloadLen
  +    //      The length of the binary buffer pointed by fPayload, in bytes
  +    //
  +    HTTPMethod      fHTTPMethod;
  +    const char*     fHeaders;
  +    int             fHeadersLen;
  +    const char*     fPayload;
  +    int             fPayloadLen;
  +};
  +
  +inline XMLNetHTTPInfo::XMLNetHTTPInfo()
  +:fHTTPMethod(XMLNetHTTPInfo::GET),
  + fHeaders(0),
  + fHeadersLen(0),
  + fPayload(0),
  + fPayloadLen(0)
  +{
  +}
   
   
   //
  @@ -101,7 +148,8 @@
   
       virtual BinInputStream* makeNew
       (
  -        const   XMLURL&                 urlSrc
  +        const   XMLURL&                 urlSrc,
  +        const   XMLNetHTTPInfo*         httpInfo=0
       ) = 0;
   
   
  
  
  
  1.4       +4 -2      xml-xerces/c/src/xercesc/util/NetAccessors/MacOSURLAccess/MacOSURLAccess.cpp
  
  Index: MacOSURLAccess.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/MacOSURLAccess/MacOSURLAccess.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MacOSURLAccess.cpp	17 May 2003 05:54:18 -0000	1.3
  +++ MacOSURLAccess.cpp	11 May 2004 13:39:35 -0000	1.4
  @@ -95,8 +95,10 @@
   
   
   BinInputStream*
  -MacOSURLAccess::makeNew(const XMLURL&  urlSource)
  +MacOSURLAccess::makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo/*=0*/)
   {
  +	if(httpInfo!=0 && httpInfo->fHTTPMethod!=XMLNetHTTPInfo::GET)
  +		ThrowXML(NetAccessorException, XMLExcepts::NetAcc_UnsupportedMethod);
   	//	We just go ahead and try to create a URLAccess stream
   	//	from this source. That's the correct place to verify
   	//	whether or not we can really handle this URL type...
  
  
  
  1.4       +2 -2      xml-xerces/c/src/xercesc/util/NetAccessors/MacOSURLAccess/MacOSURLAccess.hpp
  
  Index: MacOSURLAccess.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/MacOSURLAccess/MacOSURLAccess.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MacOSURLAccess.hpp	7 Mar 2003 18:15:49 -0000	1.3
  +++ MacOSURLAccess.hpp	11 May 2004 13:39:35 -0000	1.4
  @@ -86,7 +86,7 @@
       MacOSURLAccess();
       ~MacOSURLAccess();
   
  -    BinInputStream* makeNew(const XMLURL&  urlSource);
  +    BinInputStream* makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo=0);
       const XMLCh* getId() const;
   
   private :
  
  
  
  1.4       +4 -2      xml-xerces/c/src/xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.cpp
  
  Index: MacOSURLAccessCF.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MacOSURLAccessCF.cpp	17 May 2003 05:54:18 -0000	1.3
  +++ MacOSURLAccessCF.cpp	11 May 2004 13:39:35 -0000	1.4
  @@ -92,8 +92,10 @@
   
   
   BinInputStream*
  -MacOSURLAccessCF::makeNew(const XMLURL&  urlSource)
  +MacOSURLAccessCF::makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo/*=0*/)
   {
  +	if(httpInfo!=0 && httpInfo->fHTTPMethod!=XMLNetHTTPInfo::GET)
  +		ThrowXML(NetAccessorException, XMLExcepts::NetAcc_UnsupportedMethod);
   	BinInputStream* result = new (urlSource.getMemoryManager()) URLAccessCFBinInputStream(urlSource);
   	return result;
   }
  
  
  
  1.5       +2 -2      xml-xerces/c/src/xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.hpp
  
  Index: MacOSURLAccessCF.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/MacOSURLAccessCF/MacOSURLAccessCF.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- MacOSURLAccessCF.hpp	7 Mar 2003 18:15:49 -0000	1.4
  +++ MacOSURLAccessCF.hpp	11 May 2004 13:39:35 -0000	1.5
  @@ -86,7 +86,7 @@
       MacOSURLAccessCF();
       ~MacOSURLAccessCF();
   
  -    BinInputStream* makeNew(const XMLURL&  urlSource);
  +    BinInputStream* makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo=0);
       const XMLCh* getId() const;
   
   private :
  
  
  
  1.6       +3 -3      xml-xerces/c/src/xercesc/util/NetAccessors/Socket/SocketNetAccessor.cpp
  
  Index: SocketNetAccessor.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/Socket/SocketNetAccessor.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SocketNetAccessor.cpp	29 Jan 2004 11:51:20 -0000	1.5
  +++ SocketNetAccessor.cpp	11 May 2004 13:39:35 -0000	1.6
  @@ -88,7 +88,7 @@
   }
   
   
  -BinInputStream* SocketNetAccessor::makeNew(const XMLURL&  urlSource)
  +BinInputStream* SocketNetAccessor::makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo/*=0*/)
   {
       XMLURL::Protocols  protocol = urlSource.getProtocol();
       switch(protocol)
  @@ -96,7 +96,7 @@
           case XMLURL::HTTP:
           {
               UnixHTTPURLInputStream* retStrm =
  -                new (urlSource.getMemoryManager()) UnixHTTPURLInputStream(urlSource);
  +                new (urlSource.getMemoryManager()) UnixHTTPURLInputStream(urlSource, httpInfo);
               return retStrm;            
           }
   
  
  
  
  1.4       +5 -2      xml-xerces/c/src/xercesc/util/NetAccessors/Socket/SocketNetAccessor.hpp
  
  Index: SocketNetAccessor.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/Socket/SocketNetAccessor.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SocketNetAccessor.hpp	7 Mar 2003 18:15:49 -0000	1.3
  +++ SocketNetAccessor.hpp	11 May 2004 13:39:35 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.4  2004/05/11 13:39:35  amassari
  + * The net accessor input source now can be used to get data using PUT or POST, as well as GET
  + *
    * Revision 1.3  2003/03/07 18:15:49  tng
    * Return a reference instead of void for operator=
    *
  @@ -100,8 +103,8 @@
       SocketNetAccessor();
       ~SocketNetAccessor();
   
  -    BinInputStream* makeNew(const XMLURL&  urlSource);
  -    const XMLCh* getId() const;
  +    virtual BinInputStream* makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo=0);
  +    virtual const XMLCh* getId() const;
   
   private :
       static const XMLCh fgMyName[];
  
  
  
  1.17      +44 -4     xml-xerces/c/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
  
  Index: UnixHTTPURLInputStream.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- UnixHTTPURLInputStream.cpp	11 Feb 2004 12:42:22 -0000	1.16
  +++ UnixHTTPURLInputStream.cpp	11 May 2004 13:39:35 -0000	1.17
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.17  2004/05/11 13:39:35  amassari
  + * The net accessor input source now can be used to get data using PUT or POST, as well as GET
  + *
    * Revision 1.16  2004/02/11 12:42:22  cargilld
    * Fix for bug 25541.
    *
  @@ -165,7 +168,7 @@
   XERCES_CPP_NAMESPACE_BEGIN
   
   
  -UnixHTTPURLInputStream::UnixHTTPURLInputStream(const XMLURL& urlSource)
  +UnixHTTPURLInputStream::UnixHTTPURLInputStream(const XMLURL& urlSource, const XMLNetHTTPInfo* httpInfo/*=0*/)
         : fSocket(0)
         , fBytesProcessed(0)
         , fMemoryManager(urlSource.getMemoryManager())
  @@ -180,6 +183,16 @@
           chLatin_G, chLatin_E, chLatin_T, chSpace, chNull
       };
   
  +    const char PUT[] =
  +    {
  +        chLatin_P, chLatin_U, chLatin_T, chSpace, chNull
  +    };
  +
  +    const char POST[] =
  +    {
  +        chLatin_P, chLatin_O, chLatin_S, chLatin_T, chSpace, chNull
  +    };
  +
       const char HTTP[] =
       {
           chLatin_H, chLatin_T, chLatin_T, chLatin_P, chNull
  @@ -190,6 +203,11 @@
           chSpace, chLatin_H, chLatin_T, chLatin_T, chLatin_P, chForwardSlash, chDigit_1, chPeriod, chDigit_0, chCR, chLF, chNull
       };
   
  +    const char CRLF[] =
  +    {
  +        chCR, chLF, chNull
  +    };
  +
       const char CRLF2X[] =
       {
           chCR, chLF, chCR, chLF, chNull
  @@ -353,14 +371,22 @@
       // Build up the http GET command to send to the server.
       // To do:  We should really support http 1.1.  This implementation
       //         is weak.
  -    strcpy(fBuffer, GET);
  +    if(httpInfo==0)
  +      strcpy(fBuffer, GET);
  +    else
  +      switch(httpInfo->fHTTPMethod)
  +      {
  +        case XMLNetHTTPInfo::GET:   strcpy(fBuffer, GET); break;
  +        case XMLNetHTTPInfo::PUT:   strcpy(fBuffer, PUT); break;
  +        case XMLNetHTTPInfo::POST:  strcpy(fBuffer, POST); break;
  +      }
       if (pathAsASCII != 0)
       {
            strcat(fBuffer, pathAsASCII);
       }
   
       if (queryAsASCII != 0)
  -    {		
  +    {
           size_t n = strlen(fBuffer);
           fBuffer[n] = chQuestion;
           fBuffer[n+1] = chNull;
  @@ -380,7 +406,12 @@
           strcat(fBuffer,COLON);
           strcat(fBuffer,portAsASCII);
       }
  -    strcat(fBuffer, CRLF2X);
  +    strcat(fBuffer, CRLF);
  +
  +    if(httpInfo!=0 && httpInfo->fHeaders!=0)
  +        strncat(fBuffer,httpInfo->fHeaders,httpInfo->fHeadersLen);
  +
  +    strcat(fBuffer, CRLF);
   
       // Send the http request
       int lent = strlen(fBuffer);
  @@ -390,6 +421,15 @@
       {
           ThrowXMLwithMemMgr1(NetAccessorException,
                    XMLExcepts::NetAcc_WriteSocket, urlSource.getURLText(), fMemoryManager);
  +    }
  +
  +    if(httpInfo!=0 && httpInfo->fPayload!=0) {
  +        int  aLent = 0;
  +        if ((aLent = write(s, (void *) httpInfo->fPayload, httpInfo->fPayloadLen)) != httpInfo->fPayloadLen)
  +        {
  +            ThrowXMLwithMemMgr1(NetAccessorException,
  +                     XMLExcepts::NetAcc_WriteSocket, urlSource.getURLText(), fMemoryManager);
  +        }
       }
   
       //
  
  
  
  1.7       +5 -1      xml-xerces/c/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.hpp
  
  Index: UnixHTTPURLInputStream.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- UnixHTTPURLInputStream.hpp	29 Jan 2004 11:51:20 -0000	1.6
  +++ UnixHTTPURLInputStream.hpp	11 May 2004 13:39:35 -0000	1.7
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.7  2004/05/11 13:39:35  amassari
  + * The net accessor input source now can be used to get data using PUT or POST, as well as GET
  + *
    * Revision 1.6  2004/01/29 11:51:20  cargilld
    * Code cleanup changes to get rid of various compiler diagnostic messages.
    *
  @@ -101,6 +104,7 @@
   #include <xercesc/util/XMLURL.hpp>
   #include <xercesc/util/XMLExceptMsgs.hpp>
   #include <xercesc/util/BinInputStream.hpp>
  +#include <xercesc/util/XMLNetAccessor.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -112,7 +116,7 @@
   class XMLUTIL_EXPORT UnixHTTPURLInputStream : public BinInputStream
   {
   public :
  -    UnixHTTPURLInputStream(const XMLURL&  urlSource);
  +    UnixHTTPURLInputStream(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo=0);
       ~UnixHTTPURLInputStream();
   
       unsigned int curPos() const;
  
  
  
  1.8       +29 -3     xml-xerces/c/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp
  
  Index: BinHTTPURLInputStream.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- BinHTTPURLInputStream.cpp	17 Dec 2003 13:58:02 -0000	1.7
  +++ BinHTTPURLInputStream.cpp	11 May 2004 13:39:35 -0000	1.8
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.8  2004/05/11 13:39:35  amassari
  + * The net accessor input source now can be used to get data using PUT or POST, as well as GET
  + *
    * Revision 1.7  2003/12/17 13:58:02  cargilld
    * Platform update for memory management so that the static memory manager (one
    * used to call Initialize) is only for static data.
  @@ -296,7 +299,7 @@
   }
   
   
  -BinHTTPURLInputStream::BinHTTPURLInputStream(const XMLURL& urlSource)
  +BinHTTPURLInputStream::BinHTTPURLInputStream(const XMLURL& urlSource, const XMLNetHTTPInfo* httpInfo /*=0*/)
         : fSocketHandle(0)
         , fBytesProcessed(0)
   {
  @@ -402,7 +405,15 @@
   
       memset(fBuffer, 0, sizeof(fBuffer));
   
  -    strcpy(fBuffer, "GET ");
  +    if(httpInfo==0)
  +        strcpy(fBuffer, "GET ");
  +    else {
  +        switch(httpInfo->fHTTPMethod) {
  +        case XMLNetHTTPInfo::GET:   strcpy(fBuffer, "GET "); break;
  +        case XMLNetHTTPInfo::PUT:   strcpy(fBuffer, "PUT "); break;
  +        case XMLNetHTTPInfo::POST:  strcpy(fBuffer, "POST "); break;
  +        }
  +    }
       strcat(fBuffer, pathAsCharStar);
   
       if (queryAsCharStar != 0)
  @@ -427,7 +438,12 @@
           int i = strlen(fBuffer);
           _itoa(portNumber, fBuffer+i, 10);
       }
  -    strcat(fBuffer, "\r\n\r\n");
  +    strcat(fBuffer, "\r\n");
  +
  +    if(httpInfo!=0 && httpInfo->fHeaders!=0)
  +        strncat(fBuffer,httpInfo->fHeaders,httpInfo->fHeadersLen);
  +
  +    strcat(fBuffer, "\r\n");
   
       // Send the http request
       int lent = strlen(fBuffer);
  @@ -439,6 +455,15 @@
                    XMLExcepts::NetAcc_WriteSocket, urlSource.getURLText(), fMemoryManager);
       }
   
  +    if(httpInfo!=0 && httpInfo->fPayload!=0) {
  +        int  aLent = 0;
  +        if ((aLent = send(s, httpInfo->fPayload, httpInfo->fPayloadLen, 0)) != httpInfo->fPayloadLen)
  +        {
  +            // Call WSAGetLastError() to get the error number.
  +            ThrowXMLwithMemMgr1(NetAccessorException,
  +                     XMLExcepts::NetAcc_WriteSocket, urlSource.getURLText(), fMemoryManager);
  +        }
  +    }
   
       //
       // get the response, check the http header for errors from the server.
  
  
  
  1.5       +5 -2      xml-xerces/c/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.hpp
  
  Index: BinHTTPURLInputStream.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/WinSock/BinHTTPURLInputStream.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- BinHTTPURLInputStream.hpp	29 Jan 2004 11:51:20 -0000	1.4
  +++ BinHTTPURLInputStream.hpp	11 May 2004 13:39:35 -0000	1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2004/05/11 13:39:35  amassari
  + * The net accessor input source now can be used to get data using PUT or POST, as well as GET
  + *
    * Revision 1.4  2004/01/29 11:51:20  cargilld
    * Code cleanup changes to get rid of various compiler diagnostic messages.
    *
  @@ -105,7 +108,7 @@
   #include <xercesc/util/XMLExceptMsgs.hpp>
   #include <xercesc/util/BinInputStream.hpp>
   #include <xercesc/util/Mutexes.hpp>
  -
  +#include <xercesc/util/XMLNetAccessor.hpp>
   
   //
   // This class implements the BinInputStream interface specified by the XML
  @@ -119,7 +122,7 @@
   class XMLUTIL_EXPORT BinHTTPURLInputStream : public BinInputStream
   {
   public :
  -    BinHTTPURLInputStream(const XMLURL&  urlSource);
  +    BinHTTPURLInputStream(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo=0);
       ~BinHTTPURLInputStream();
   
       unsigned int curPos() const;
  
  
  
  1.5       +3 -3      xml-xerces/c/src/xercesc/util/NetAccessors/WinSock/WinSockNetAccessor.cpp
  
  Index: WinSockNetAccessor.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/WinSock/WinSockNetAccessor.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- WinSockNetAccessor.cpp	17 Dec 2003 00:18:37 -0000	1.4
  +++ WinSockNetAccessor.cpp	11 May 2004 13:39:35 -0000	1.5
  @@ -92,7 +92,7 @@
   }
   
   
  -BinInputStream* WinSockNetAccessor::makeNew(const XMLURL&  urlSource)
  +BinInputStream* WinSockNetAccessor::makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo /*=0*/)
   {
       XMLURL::Protocols  protocol = urlSource.getProtocol();
       switch(protocol)
  @@ -100,7 +100,7 @@
           case XMLURL::HTTP:
           {
               BinHTTPURLInputStream* retStrm =
  -                new (urlSource.getMemoryManager()) BinHTTPURLInputStream(urlSource);
  +                new (urlSource.getMemoryManager()) BinHTTPURLInputStream(urlSource, httpInfo);
               return retStrm;
               break;
           }
  
  
  
  1.4       +5 -2      xml-xerces/c/src/xercesc/util/NetAccessors/WinSock/WinSockNetAccessor.hpp
  
  Index: WinSockNetAccessor.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/WinSock/WinSockNetAccessor.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- WinSockNetAccessor.hpp	7 Mar 2003 18:15:49 -0000	1.3
  +++ WinSockNetAccessor.hpp	11 May 2004 13:39:35 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.4  2004/05/11 13:39:35  amassari
  + * The net accessor input source now can be used to get data using PUT or POST, as well as GET
  + *
    * Revision 1.3  2003/03/07 18:15:49  tng
    * Return a reference instead of void for operator=
    *
  @@ -100,8 +103,8 @@
       WinSockNetAccessor();
       ~WinSockNetAccessor();
   
  -    BinInputStream* makeNew(const XMLURL&  urlSource);
  -    const XMLCh* getId() const;
  +    virtual BinInputStream* makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo=0);
  +    virtual const XMLCh* getId() const;
   
   private :
       static const XMLCh fgMyName[];
  
  
  
  1.6       +4 -2      xml-xerces/c/src/xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.cpp
  
  Index: LibWWWNetAccessor.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.cpp,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- LibWWWNetAccessor.cpp	5 May 2004 22:08:07 -0000	1.5
  +++ LibWWWNetAccessor.cpp	11 May 2004 13:39:35 -0000	1.6
  @@ -106,13 +106,15 @@
   }
   
   
  -BinInputStream* LibWWWNetAccessor::makeNew(const XMLURL&  urlSource)
  +BinInputStream* LibWWWNetAccessor::makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo/*=0*/)
   {
       XMLURL::Protocols  protocol = urlSource.getProtocol();
       switch(protocol)
       {
           case XMLURL::HTTP:
           {
  +            if(httpInfo!=0 && httpInfo->fHTTPMethod!=XMLNetHTTPInfo::GET)
  +                ThrowXML(NetAccessorException, XMLExcepts::NetAcc_UnsupportedMethod);
               BinURLInputStream* retStrm =
                   new (urlSource.getMemoryManager()) BinURLInputStream(urlSource);
               return retStrm;
  
  
  
  1.4       +4 -1      xml-xerces/c/src/xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.hpp
  
  Index: LibWWWNetAccessor.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/NetAccessors/libWWW/LibWWWNetAccessor.hpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LibWWWNetAccessor.hpp	7 Mar 2003 18:15:50 -0000	1.3
  +++ LibWWWNetAccessor.hpp	11 May 2004 13:39:35 -0000	1.4
  @@ -56,6 +56,9 @@
   
   /**
    * $Log$
  + * Revision 1.4  2004/05/11 13:39:35  amassari
  + * The net accessor input source now can be used to get data using PUT or POST, as well as GET
  + *
    * Revision 1.3  2003/03/07 18:15:50  tng
    * Return a reference instead of void for operator=
    *
  @@ -119,7 +122,7 @@
       LibWWWNetAccessor();
       ~LibWWWNetAccessor();
   
  -    BinInputStream* makeNew(const XMLURL&  urlSource);
  +    BinInputStream* makeNew(const XMLURL&  urlSource, const XMLNetHTTPInfo* httpInfo=0);
       const XMLCh* getId() const;
   
   private :
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org