Brian Geffon wrote:
> Hello,
> I've run into a situation where I would like to set the response to a
> request to certain content. I know that i can use TSHttpTxnSetHttpRetBody
> and TSHttpTxnSetHttpRetStatus the problem with this is that
> TSHttpTxnSetHttpRetBody sets the HttpTransact::State->return_xbuf to
> accomplish this which has a limit of 2*1024 bytes, unfortunately this is
> far too low for what I'm trying to do. I understand that these API
> functions were probably originally designed to be used as error pages for
> the remap plugin, but I figure they could easily suit my purpose too.
>
> I was thinking that about making the following changes to make this
> possible:
> Change HttpTransact::State::return_xbuf to be a char * instead of char
> [2*1024].
> In TSHttpTxnSetHttpRetBody I would use TSmalloc() to allocate the space
> and then free in State::destroy() and that way it could support an
> arbitrary sized response. I will happily submit a patch with these changes
> if no one sees any issues with my proposed modifications.


What about TSHttpTxnErrorBodySet(), will it do what you want?  I honestly
don't know why we have two of these doing similar things... Probably worth
investigating (i.e. file a bug). Perhaps one or the other should be
deprecated ?

Looking at it, it's unfortunate that TSHttpTxnErrorBodySet() only takes an
"int" for length, but which "error" body is going to be > 2GB? :)

-- Leif

>
> Of course, if there is another way to accomplish this same thing I would
> really appreciate any feedback.
>
> Best,
> Brian
>


Reply via email to