#include <Include.h>

Inheritance diagram for ESIInclude:
Collaboration diagram for ESIInclude:

Public Types

enum  ESIElementType_t {
  ESI_ELEMENT_NONE,
  ESI_ELEMENT_INCLUDE,
  ESI_ELEMENT_COMMENT,
  ESI_ELEMENT_REMOVE,
  ESI_ELEMENT_TRY,
  ESI_ELEMENT_ATTEMPT,
  ESI_ELEMENT_EXCEPT,
  ESI_ELEMENT_VARS,
  ESI_ELEMENT_CHOOSE,
  ESI_ELEMENT_WHEN,
  ESI_ELEMENT_OTHERWISE,
  ESI_ELEMENT_ASSIGN
}
 
typedef RefCount< ESIElementPointer
 

Public Member Functions

 ESIInclude (esiTreeParentPtr, int attributes, const char **attr, ESIContext *)
 
 ~ESIInclude ()
 
void render (ESISegment::Pointer)
 
esiProcessResult_t process (int dovars)
 
Pointer makeCacheable () const
 
Pointer makeUsable (esiTreeParentPtr, ESIVarState &) const
 
void subRequestDone (ESIStreamContext::Pointer, bool)
 
void includeFail (ESIStreamContext::Pointer)
 
void finish ()
 
virtual bool addElement (ESIElement::Pointer)
 
virtual bool mayFail () const
 
virtual void provideData (ESISegment::Pointer data, ESIElement *source)
 
virtual void fail (ESIElement *source, char const *reason=NULL)
 

Static Public Member Functions

static ESIElementType_t IdentifyElement (const char *)
 

Public Attributes

struct {
   int   onerrorcontinue:1
 
   int   failed:1
 
   int   finished:1
 
flags
 
ESIStreamContext::Pointer src
 
ESIStreamContext::Pointer alt
 
ESISegment::Pointer srccontent
 
ESISegment::Pointer altcontent
 
ESIVarStatevarState
 
char * srcurl
 
char * alturl
 

Private Member Functions

 MEMPROXY_CLASS (ESIInclude)
 
void Start (ESIStreamContext::Pointer, char const *, ESIVarState *)
 
void start ()
 
 ESIInclude (ESIInclude const &)
 
bool dataNeeded () const
 
void prepareRequestHeaders (HttpHeader &tempheaders, ESIVarState *vars)
 

Private Attributes

esiTreeParentPtr parent
 
bool started
 
bool sent
 

Detailed Description

Definition at line 36 of file Include.h.

Member Typedef Documentation

◆ Pointer

Definition at line 46 of file Element.h.

Member Enumeration Documentation

◆ ESIElementType_t

Enumerator
ESI_ELEMENT_NONE 
ESI_ELEMENT_INCLUDE 
ESI_ELEMENT_COMMENT 
ESI_ELEMENT_REMOVE 
ESI_ELEMENT_TRY 
ESI_ELEMENT_ATTEMPT 
ESI_ELEMENT_EXCEPT 
ESI_ELEMENT_VARS 
ESI_ELEMENT_CHOOSE 
ESI_ELEMENT_WHEN 
ESI_ELEMENT_OTHERWISE 
ESI_ELEMENT_ASSIGN 

Definition at line 49 of file Element.h.

Constructor & Destructor Documentation

◆ ESIInclude() [1/2]

ESIInclude::ESIInclude ( esiTreeParentPtr  aParent,
int  attributes,
const char **  attr,
ESIContext aContext 
)

◆ ~ESIInclude()

ESIInclude::~ESIInclude ( )

Definition at line 221 of file Include.cc.

References cbdataReferenceDone, debugs, ESISegmentFreeList(), and safe_free.

◆ ESIInclude() [2/2]

ESIInclude::ESIInclude ( ESIInclude const &  old)
private

Definition at line 260 of file Include.cc.

References alturl, flags, onerrorcontinue, srcurl, and xstrdup.

Member Function Documentation

◆ addElement()

virtual bool ESIElement::addElement ( ESIElement::Pointer  )
inlinevirtualinherited

Reimplemented in esiChoose, esiTry, esiRemove, ESIAssign, and esiSequence.

Definition at line 64 of file Element.h.

References debugs.

Referenced by ESIContext::addLiteral(), ESIContext::addStackElement(), and esiRemove::~esiRemove().

◆ dataNeeded()

bool ESIInclude::dataNeeded ( ) const
private

Definition at line 446 of file Include.cc.

References flags.

Referenced by subRequestDone().

◆ fail()

virtual void esiTreeParent::fail ( ESIElement source,
char const *  reason = NULL 
)
inlinevirtualinherited

◆ finish()

void ESIInclude::finish ( )
virtual

Implements ESIElement.

Definition at line 232 of file Include.cc.

References NULL.

◆ IdentifyElement()

ESIElement::ESIElementType_t ESIElement::IdentifyElement ( const char *  el)
staticinherited

Definition at line 860 of file Esi.cc.

References assert.

Referenced by ESIContext::end(), and ESIContext::start().

◆ includeFail()

void ESIInclude::includeFail ( ESIStreamContext::Pointer  stream)

Definition at line 440 of file Include.cc.

References subRequestDone().

◆ makeCacheable()

ESIElement::Pointer ESIInclude::makeCacheable ( ) const
virtual

Implements ESIElement.

Definition at line 238 of file Include.cc.

◆ makeUsable()

ESIElement::Pointer ESIInclude::makeUsable ( esiTreeParentPtr  newParent,
ESIVarState newVarState 
) const
virtual

Implements ESIElement.

Definition at line 244 of file Include.cc.

References alt, alturl, cbdataReference, ESIStreamContextNew(), parent, src, srcurl, and varState.

◆ mayFail()

virtual bool ESIElement::mayFail ( ) const
inlinevirtualinherited

Reimplemented in esiSequence.

Definition at line 77 of file Element.h.

◆ MEMPROXY_CLASS()

ESIInclude::MEMPROXY_CLASS ( ESIInclude  )
private

◆ prepareRequestHeaders()

void ESIInclude::prepareRequestHeaders ( HttpHeader tempheaders,
ESIVarState vars 
)
private

Definition at line 279 of file Include.cc.

References ESIVarState::header(), HttpHeader::removeHopByHopEntries(), and HttpHeader::update().

Referenced by Start().

◆ process()

esiProcessResult_t ESIInclude::process ( int  dovars)
virtual

◆ provideData()

virtual void esiTreeParent::provideData ( ESISegment::Pointer  data,
ESIElement source 
)
inlinevirtualinherited

◆ render()

void ESIInclude::render ( ESISegment::Pointer  output)
virtual

Implements ESIElement.

Definition at line 382 of file Include.cc.

References altcontent, assert, debugs, fatal(), flags, RefCount< C >::getRaw(), ESISegment::next, NULL, sent, and srccontent.

◆ Start()

◆ start()

void ESIInclude::start ( )
private

Definition at line 359 of file Include.cc.

References alt, alturl, DBG_IMPORTANT, debugs, flags, RefCount< C >::getRaw(), NULL, src, srcurl, Start(), started, and varState.

Referenced by process().

◆ subRequestDone()

Member Data Documentation

◆ alt

ESIStreamContext::Pointer ESIInclude::alt

Definition at line 55 of file Include.h.

Referenced by ESIInclude(), makeUsable(), start(), and subRequestDone().

◆ altcontent

ESISegment::Pointer ESIInclude::altcontent

Definition at line 57 of file Include.h.

Referenced by render(), and subRequestDone().

◆ alturl

char * ESIInclude::alturl

Definition at line 59 of file Include.h.

Referenced by ESIInclude(), makeUsable(), start(), and subRequestDone().

◆ failed

int ESIInclude::failed

Definition at line 51 of file Include.h.

◆ finished

int ESIInclude::finished

Definition at line 52 of file Include.h.

◆ flags

struct { ... } ESIInclude::flags

◆ onerrorcontinue

int ESIInclude::onerrorcontinue

Definition at line 50 of file Include.h.

Referenced by ESIInclude().

◆ parent

esiTreeParentPtr ESIInclude::parent
private

Definition at line 65 of file Include.h.

Referenced by makeUsable(), and subRequestDone().

◆ sent

bool ESIInclude::sent
private

Definition at line 68 of file Include.h.

Referenced by render(), and subRequestDone().

◆ src

ESIStreamContext::Pointer ESIInclude::src

Definition at line 54 of file Include.h.

Referenced by ESIInclude(), makeUsable(), start(), and subRequestDone().

◆ srccontent

ESISegment::Pointer ESIInclude::srccontent

Definition at line 56 of file Include.h.

Referenced by render(), and subRequestDone().

◆ srcurl

char* ESIInclude::srcurl

Definition at line 59 of file Include.h.

Referenced by ESIInclude(), makeUsable(), start(), and subRequestDone().

◆ started

bool ESIInclude::started
private

Definition at line 67 of file Include.h.

Referenced by start().

◆ varState

ESIVarState* ESIInclude::varState

Definition at line 58 of file Include.h.

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


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors