#include <VarState.h>

Collaboration diagram for ESIVarState:


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

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
Trie variables
std::vector< Variable * > variablesForCleanup

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)


ESIVarState::CBDATA_CLASS ( ESIVarState  )

◆ cookieUsed()

void ESIVarState::cookieUsed ( )

Definition at line 46 of file VarState.cc.

References flags.

Referenced by ESIVariableCookie::eval().

◆ doIt()

void ESIVarState::doIt ( )

◆ 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 ( )

◆ 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

Definition at line 97 of file VarState.h.

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


struct { ... } ESIVarState::flags

◆ hdr

HttpHeader ESIVarState::hdr

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

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

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

Definition at line 95 of file VarState.h.

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

◆ variablesForCleanup

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

Definition at line 96 of file VarState.h.

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

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






Web Site Translations