#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 () override
 
void render (ESISegment::Pointer) override
 
esiProcessResult_t process (int dovars) override
 
Pointer makeCacheable () const override
 
Pointer makeUsable (esiTreeParentPtr, ESIVarState &) const override
 
void subRequestDone (ESIStreamContext::Pointer, bool)
 
void includeFail (ESIStreamContext::Pointer)
 
void finish () override
 
virtual bool addElement (ESIElement::Pointer)
 
virtual bool mayFail () const
 
virtual void provideData (ESISegment::Pointer, ESIElement *)
 
virtual void fail (ESIElement *, char const *=nullptr)
 

Static Public Member Functions

static ESIElementType_t IdentifyElement (const char *)
 

Public Attributes

struct {
   unsigned int   onerrorcontinue:1
 
   unsigned int   failed:1
 
   unsigned 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 37 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 ( )
override

◆ ESIInclude() [2/2]

ESIInclude::ESIInclude ( ESIInclude const &  old)
private

Definition at line 243 of file Include.cc.

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

Member Function Documentation

◆ addElement()

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

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

Definition at line 64 of file Element.h.

References debugs.

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

◆ dataNeeded()

bool ESIInclude::dataNeeded ( ) const
private

Definition at line 429 of file Include.cc.

References flags.

Referenced by subRequestDone().

◆ fail()

virtual void esiTreeParent::fail ( ESIElement ,
char const *  = nullptr 
)
inlinevirtualinherited

◆ finish()

void ESIInclude::finish ( )
overridevirtual

Implements ESIElement.

Definition at line 215 of file Include.cc.

References parent.

◆ IdentifyElement()

◆ includeFail()

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

Definition at line 423 of file Include.cc.

References subRequestDone().

Referenced by esiBufferRecipient().

◆ makeCacheable()

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

Implements ESIElement.

Definition at line 221 of file Include.cc.

References ESIInclude().

◆ makeUsable()

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

Implements ESIElement.

Definition at line 227 of file Include.cc.

References ESIInclude(), 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.

Referenced by ESIContext::send().

◆ MEMPROXY_CLASS()

ESIInclude::MEMPROXY_CLASS ( ESIInclude  )
private

◆ prepareRequestHeaders()

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

Definition at line 262 of file Include.cc.

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

Referenced by Start().

◆ process()

esiProcessResult_t ESIInclude::process ( int  dovars)
overridevirtual

◆ provideData()

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

◆ render()

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

Implements ESIElement.

Definition at line 365 of file Include.cc.

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

◆ start()

void ESIInclude::start ( )
private

Definition at line 342 of file Include.cc.

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

Referenced by process().

◆ Start()

◆ subRequestDone()

Member Data Documentation

◆ alt

ESIStreamContext::Pointer ESIInclude::alt

Definition at line 56 of file Include.h.

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

◆ altcontent

ESISegment::Pointer ESIInclude::altcontent

Definition at line 58 of file Include.h.

Referenced by ~ESIInclude(), render(), and subRequestDone().

◆ alturl

char * ESIInclude::alturl

Definition at line 60 of file Include.h.

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

◆ failed

unsigned int ESIInclude::failed

Definition at line 52 of file Include.h.

◆ finished

unsigned int ESIInclude::finished

Definition at line 53 of file Include.h.

◆ 

struct { ... } ESIInclude::flags

◆ onerrorcontinue

unsigned int ESIInclude::onerrorcontinue

Definition at line 51 of file Include.h.

Referenced by ESIInclude().

◆ parent

esiTreeParentPtr ESIInclude::parent
private

Definition at line 66 of file Include.h.

Referenced by finish(), makeUsable(), and subRequestDone().

◆ sent

bool ESIInclude::sent
private

Definition at line 69 of file Include.h.

Referenced by render(), and subRequestDone().

◆ src

ESIStreamContext::Pointer ESIInclude::src

Definition at line 55 of file Include.h.

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

◆ srccontent

ESISegment::Pointer ESIInclude::srccontent

Definition at line 57 of file Include.h.

Referenced by ~ESIInclude(), render(), and subRequestDone().

◆ srcurl

char* ESIInclude::srcurl

Definition at line 60 of file Include.h.

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

◆ started

bool ESIInclude::started
private

Definition at line 68 of file Include.h.

Referenced by start().

◆ varState

ESIVarState* ESIInclude::varState

Definition at line 59 of file Include.h.

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


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors