On 4/4/12 6:36 AM, Servalan eq wrote:
I am writing a remap plugin to do a hybrid reverse proxy / redirection task.In 
some circumstances I want to call out to a seperate http server (not related to 
the requests) do decide how to handle the requests.
I've coded this up using libcurl, which works but seems very slow - creating and destroying a curl_easy_init object per call. Is there a way to call an HTTP GET during a plugin's process, just passing some request parameters and headers using the internal ATSfunctionality? It seems TSFetchRespGet or TSFetchURL might work, but I can't see any way to make a new tsapi_httptxn with my call in it.
thanks very much,
                                        

Yeah, none of this will work (well) in a remap plugin. You need to rewrite this as e.g. a read-request-header hook, and then use TSHttpConnect() (most likely) to fetch the content. This also implies you have to yield and reschedule your continuation while waiting and processing the response. If not (and as you probably have noticed with your remap plugin), you will block the net-thread for the duration of the request. This is very bad, because all clients on that thread are now stalled until your (curl) request finishes.

-- Leif

Reply via email to