trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Servalan eq <servala...@hotmail.com>
Subject RE: using curl during an http transaction
Date Fri, 13 Apr 2012 16:17:41 GMT

Ah thanks. I have seen this with the multiple chunks - at this stage I am only expecting tens
of bytes, but it's a good idea to be careful.
thanks

From: Peter.Walsh@disney.com
To: users@trafficserver.apache.org
Date: Fri, 13 Apr 2012 08:48:00 -0700
Subject: Re: using curl during an http transaction



I'm not sure for the redirect question because we don't use that feature.  
However, one last thing I want to mention with regard to HttpConnect. Make sure to test this
with large responses because its possible to get multiple READ_READY/COMPLETE callbacks when
the response size is large. Many examples we've seen don't handle this correctly and we stumbled
on it at first.
From:  Servalan eq <servalaneq@hotmail.com>
Reply-To:  "users@trafficserver.apache.org" <users@trafficserver.apache.org>
Date:  Fri, 13 Apr 2012 08:31:33 -0700
To:  "users@trafficserver.apache.org" <users@trafficserver.apache.org>
Subject:  RE: using curl during an http transaction


Thanks very much Peter.I have got this working pretty much as you describe - I just need to
go back to doing the remap type operations from a remap plugin now.
I presume I can do forwarding or redirection pretty much as normal using TSUrlHostSet, TSUrlPathSet
etc.The one thing I can't see how do to is the equivalent of 
        rri->redirect = 1   on the TSRemapRequestInfo, as I can't see how to get access
to this from a standard plugin event.
thanks very much for your help.
Servalan
> From: Peter.Walsh@disney.com
> To: users@trafficserver.apache.org
> Date: Thu, 12 Apr 2012 11:04:46 -0700
> Subject: Re: using curl during an http transaction
> 
> Hello,
> You may have already gotten this working, but here's some basic steps...
> 
> 1.) Call TSHttpConnect with a sockaddr object, which returns a TSVConn
> 2.) Call TSVConnWrite using the returned TSVConn, a continuation, a buffer
> reader containing your request, and the content length. This returns a
> TSVIO
> 
> example: 
> 
> RequestVio = TSVConnWrite(vconn, contp,
>                     mServerRequestBufferReader,
> TSIOBufferReaderAvail(mServerRequestBufferReader));
> 
> NOTE: There are different ways to get the URI into
> mServerRequestBufferReader, we used the ATS API's to create a new HTTP
> header, set all the fields (ie scheme, host, path, etc) and used the
> TSHttpHdrPrint to get the buffer into mServerRequestBufferReader.
> 
> 3.) Your handler will get called back with
> TS_EVENT_VCONN_WRITE_READY/COMPLETE. Once its complete, you can initiate a
> read using TSVConnRead on the TSVConn returned in step 1, and a response
> buffer, and the size of data you want.
> 
> Example: TSVConnRead(vconn, contp, >mServerResponseBuffer, INT_MAX);
> 
> This returns a new Response TSVIO
> 
> 4.) Once you've initiated the read, your handler will get called back with
> TS_EVENT_VCONN_READ_READY/COMPLETE events, at which point you can read
> data from the response buffer. This is just like the reading done in the
> transform plugins, so if you look at those you'll find tons of examples
> 
> Hope that helps
> 
> -Pete
> 
> 
> On 4/5/12 9:57 AM, "Walsh, Peter" <Peter.Walsh@disney.com> wrote:
> 
> >Hello,
> >I worked with Erik on this, and we did get it working eventually.  It was
> >quite difficult to get this working as there aren't any good examples,
> >but we pieced together what we could based on the InkAPITest class and
> >the example protocol plugin that uses TSNetConnect, which is somewhat
> >similar.  
> >
> >I'm a bit swamped right now, but when I have a minute I'll post a
> >response to this with some helpful tips, gotchas, etc.
> >
> >-Pete 
> >
> >-----Original Message-----
> >From: Servalan eq [mailto:servalaneq@hotmail.com]
> >Sent: Thursday, April 05, 2012 7:27 AM
> >To: users@trafficserver.apache.org
> >Subject: RE: using curl during an http transaction
> >
> >
> >
> >
> >Hi Erik, did you ever get this TSHttpConnect call working?
> >I too am looking for some good examples to call a seperate HTTP service
> >while processing a request to determine how to handle it.
> >thanks very much,
> >Servalan
> >
> >> On 04/20/2011 02:16 PM, Earle, Erik wrote:
> >
> >> Is there an example usage of TSHttpConnect somewhere?  I did not
> >see any in the examples.
> >
> > 
> >
> > 
> >
> >-- 
> >
> >Erik
> >Earle     206.664.4016     tie line:
> >8.664.4016     erik.earle@disney.com
> >
> >Walt
> >Disney Connected and Advanced Technologies
> >
> >925 4th Ave - Suite 1600 - Seattle - 98104
> >
> > 
> >
> >From: Leif Hedstrom
> >[mailto:zwoop@apache.org]
> >
> >Sent: Wednesday, April 20, 2011 2:33 PM
> >
> >To: users@trafficserver.apache.org
> >
> >Cc: Earle, Erik
> >
> >Subject: Re: using curl during an http transaction
> >
> > 
> >
> >On
> >04/20/2011 02:16 PM, Earle, Erik wrote:
> >
> >Hi
> >all.   I'm new to the list and trafficserver.
> >
> > 
> >
> >I'm
> >building a plugin to do OAuth 2.  I'm looking to make a call to a separate
> >(REST) service to do the OAuth token validation.
> >
> > 
> >
> >Does anyone
> >have experience with using something like curl or vconnections, etc. to
> >make a
> >separate http request during an http transaction?
> >
> > 
> >
> >
> >
> >You want to use the appropriate APIs that we provide to perform HTTP
> >requests,
> >e.g. TSNetConnect() or TSHttpConnect().
> >
> >
> >
> >-- leif 		 	   		  
> 
 		 	   		   		 	   		  
Mime
View raw message