#include <VarState.h>

Collaboration diagram for ESIVarState:

Classes

class  Variable
 

Public Member Functions

 ESIVarState (HttpHeader const *hdr, char const *uri)
 
 ~ESIVarState ()
 
ESISegment::Pointer extractList ()
 
char * extractChar ()
 
void feedData (const char *buf, size_t len)
 
void buildVary (HttpReply *rep)
 
void addVariable (char const *, size_t, Variable *)
 
void removeVariable (String const &)
 
void cookieUsed ()
 
void hostUsed ()
 
void languageUsed ()
 
void refererUsed ()
 
void useragentUsed ()
 
ESISegment::PointergetOutput ()
 
HttpHeaderheader ()
 
VariableGetVar (char const *s, int len)
 

Private Member Functions

 CBDATA_CLASS (ESIVarState)
 
void doIt ()
 
void setupUserAgent ()
 

Private Attributes

ESISegment::Pointer input
 
ESISegment::Pointer output
 
HttpHeader hdr
 
struct {
   unsigned int   language:1
 
   unsigned int   cookie:1
 
   unsigned int   host:1
 
   unsigned int   referer:1
 
   unsigned int   useragent:1
 
flags
 
Trie variables
 
std::vector< Variable * > variablesForCleanup
 
VariabledefaultVariable
 

Detailed Description

Definition at line 34 of file VarState.h.

Constructor & Destructor Documentation

◆ ESIVarState()

ESIVarState::ESIVarState ( HttpHeader const *  hdr,
char const *  uri 
)

Definition at line 242 of file VarState.cc.

References addVariable(), HttpHeader::append(), defaultVariable, flags, and hdr.

◆ ~ESIVarState()

ESIVarState::~ESIVarState ( )

Member Function Documentation

◆ addVariable()

void ESIVarState::addVariable ( char const *  name,
size_t  len,
Variable aVariable 
)

Definition at line 282 of file VarState.cc.

References String::assign(), removeVariable(), variables, and variablesForCleanup.

Referenced by ESIVarState(), and ESIAssign::process().

◆ buildVary()

void ESIVarState::buildVary ( HttpReply rep)

◆ CBDATA_CLASS()

ESIVarState::CBDATA_CLASS ( ESIVarState  )
private

◆ cookieUsed()

void ESIVarState::cookieUsed ( )

Definition at line 46 of file VarState.cc.

References flags.

Referenced by ESIVariableCookie::eval().

◆ doIt()

void ESIVarState::doIt ( )
private

◆ extractChar()

char * ESIVarState::extractChar ( )

◆ extractList()

ESISegment::Pointer ESIVarState::extractList ( )

Definition at line 107 of file VarState.cc.

References debugs, doIt(), and output.

Referenced by esiLiteral::process().

◆ feedData()

void ESIVarState::feedData ( const char *  buf,
size_t  len 
)

◆ getOutput()

◆ GetVar()

ESIVarState::Variable * ESIVarState::GetVar ( char const *  s,
int  len 
)

◆ header()

◆ hostUsed()

void ESIVarState::hostUsed ( )

Definition at line 40 of file VarState.cc.

References flags.

Referenced by ESIVariableHost::eval().

◆ languageUsed()

void ESIVarState::languageUsed ( )

Definition at line 52 of file VarState.cc.

References flags.

Referenced by ESIVariableLanguage::eval().

◆ refererUsed()

void ESIVarState::refererUsed ( )

Definition at line 58 of file VarState.cc.

References flags.

Referenced by ESIVariableReferer::eval().

◆ removeVariable()

void ESIVarState::removeVariable ( String const &  name)

Definition at line 267 of file VarState.cc.

References String::rawBuf(), String::size(), and variables.

Referenced by addVariable().

◆ setupUserAgent()

void ESIVarState::setupUserAgent ( )
private

◆ useragentUsed()

void ESIVarState::useragentUsed ( )

Definition at line 64 of file VarState.cc.

References flags.

Referenced by ESIVariableUserAgent::eval().

Member Data Documentation

◆ cookie

unsigned int ESIVarState::cookie

Definition at line 67 of file VarState.h.

◆ defaultVariable

Variable* ESIVarState::defaultVariable
private

Definition at line 97 of file VarState.h.

Referenced by ESIVarState(), ~ESIVarState(), and GetVar().

◆ 

struct { ... } ESIVarState::flags

◆ hdr

HttpHeader ESIVarState::hdr
private

Definition at line 63 of file VarState.h.

Referenced by ESIVarState(), ~ESIVarState(), and header().

◆ host

unsigned int ESIVarState::host

Definition at line 68 of file VarState.h.

◆ input

ESISegment::Pointer ESIVarState::input
private

Definition at line 61 of file VarState.h.

Referenced by ~ESIVarState(), doIt(), extractChar(), and feedData().

◆ language

unsigned int ESIVarState::language

Definition at line 66 of file VarState.h.

◆ output

ESISegment::Pointer ESIVarState::output
private

Definition at line 62 of file VarState.h.

Referenced by ~ESIVarState(), doIt(), extractChar(), extractList(), and getOutput().

◆ referer

unsigned int ESIVarState::referer

Definition at line 69 of file VarState.h.

◆ useragent

unsigned int ESIVarState::useragent

Definition at line 70 of file VarState.h.

◆ variables

Trie ESIVarState::variables
private

Definition at line 95 of file VarState.h.

Referenced by addVariable(), doIt(), GetVar(), and removeVariable().

◆ variablesForCleanup

std::vector<Variable*> ESIVarState::variablesForCleanup
private

Definition at line 96 of file VarState.h.

Referenced by ~ESIVarState(), and addVariable().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors