#include "squid.h"
#include "client_side.h"
#include "client_side_request.h"
#include "esi/Include.h"
#include "esi/VarState.h"
#include "fatal.h"
#include "http/Stream.h"
#include "HttpReply.h"
#include "log/access_log.h"
Go to the source code of this file.
Functions | |
CBDATA_CLASS_INIT (ESIStreamContext) | |
static ESIStreamContext * | ESIStreamContextNew (ESIIncludePtr) |
void | esiBufferDetach (clientStreamNode *node, ClientHttpRequest *http) |
void | esiBufferRecipient (clientStreamNode *node, ClientHttpRequest *http, HttpReply *rep, StoreIOBuffer receivedData) |
Variables | |
static CSCB | esiBufferRecipient |
static CSD | esiBufferDetach |
Function Documentation
◆ CBDATA_CLASS_INIT()
CBDATA_CLASS_INIT | ( | ESIStreamContext | ) |
◆ esiBufferDetach()
void esiBufferDetach | ( | clientStreamNode * | node, |
ClientHttpRequest * | http | ||
) |
Definition at line 39 of file Include.cc.
References clientStreamDetach().
◆ esiBufferRecipient()
void esiBufferRecipient | ( | clientStreamNode * | node, |
ClientHttpRequest * | http, | ||
HttpReply * | rep, | ||
StoreIOBuffer | receivedData | ||
) |
Write a chunk of data to a client 'socket'. If the reply is present, send the reply headers down the wire too.
Pre-condition: The request is an internal ESI subrequest. data context is not NULL There are no more entries in the stream chain. The caller is responsible for creation and deletion of the Reply headers.
- Note
- Bug 975, bug 1566 : delete rep; 2006/09/02: TS, #975
This was causing double-deletes. Its possible that not deleting it here will cause memory leaks, but if so, this delete should not be reinstated or it will trigger bug #975 again - RBC 20060903
Definition at line 63 of file Include.cc.
References assert, ESISegment::buf, ESIStreamContext::buffer, cbdataReferenceValid(), clientStreamRead(), clientStreamStatus(), StoreIOBuffer::data, DBG_IMPORTANT, debugs, fatal(), ESIStreamContext::finished, ClientHttpRequest::getConn(), RefCount< C >::getRaw(), httpRequestFree(), ESIStreamContext::include, ESIInclude::includeFail(), ESISegment::len, StoreIOBuffer::length, ESIStreamContext::localbuffer, node::next, ESISegment::next, ClientHttpRequest::Out::offset, StoreIOBuffer::offset, ClientHttpRequest::out, Http::scOkay, HttpReply::sline, Http::StatusLine::status(), STREAM_COMPLETE, STREAM_FAILED, STREAM_NONE, STREAM_UNPLANNED_COMPLETE, ESIInclude::subRequestDone(), and ESISegment::tail().
◆ ESIStreamContextNew()
|
static |
Definition at line 196 of file Include.cc.
References ESIStreamContext::include.
Referenced by ESIInclude::ESIInclude(), and ESIInclude::makeUsable().
Variable Documentation
◆ esiBufferDetach
|
static |
Definition at line 28 of file Include.cc.
Referenced by ESIInclude::Start().
◆ esiBufferRecipient
|
static |
Definition at line 27 of file Include.cc.
Referenced by ESIInclude::Start().