Include.cc File Reference
#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"
Include dependency graph for Include.cc:

Go to the source code of this file.

Functions

 CBDATA_CLASS_INIT (ESIStreamContext)
 
static ESIStreamContextESIStreamContextNew (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()

ESIStreamContext * ESIStreamContextNew ( ESIIncludePtr  include)
static

Definition at line 196 of file Include.cc.

References ESIStreamContext::include.

Referenced by ESIInclude::ESIInclude(), and ESIInclude::makeUsable().

Variable Documentation

◆ esiBufferDetach

CSD esiBufferDetach
static

Definition at line 28 of file Include.cc.

Referenced by ESIInclude::Start().

◆ esiBufferRecipient

CSCB esiBufferRecipient
static

Definition at line 27 of file Include.cc.

Referenced by ESIInclude::Start().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors