Thanks for the hint.

I've tried that before (and again now). Unfortunately I get an assert and a
crash right on TSContCall.

[Oct 28 12:37:48.170] Server {0x2aaaadbea700} DEBUG: <HttpTunnel.cc:1241
(consumer_handler)> (http_tunnel) [0] consumer_handler [transform write
VC_EVENT_ERROR]
FATAL: HttpTunnel.cc:1243: failed assert `c->alive == true`

This happens at a point where data has been written to the output
connection but the write operation has not yet completed.
Any suggestions are welcome.

Br,
Carlos



On Fri, Oct 25, 2013 at 6:56 PM, James Peach <jpe...@apache.org> wrote:

> On Oct 24, 2013, at 10:59 PM, Carlos Guerreiro <
> carlos.h.guerre...@gmail.com> wrote:
>
> > Hi,
> >
> > What is the correct way to abort an HTTP transaction in a transformation
> > plugin, while transforming the message body?
> > So that origin server and client sockets are closed ASAP and everything
> is
> > cleaned up properly in the entire transformation chain.
>
> I'm guessing that you would inject the error into the transformation chain
> using TSContCall(..., TS_EVENT_ERROR, ...). I see this being done in
> plugins/gzip/gzip.cc, plugins/experimental/esi/esi.cc and
> lib/atscppapi/src/TransformationPlugin.cc.
>
> Interestingly, most of these examples use that pattern to propagate
> errors, but few (none?) use it to generate errors.
>
> J
>

Reply via email to