#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 {
   int   language:1
 
   int   cookie:1
 
   int   host:1
 
   int   referer:1
 
   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 ( HttpHeader const *  hdr,
char const *  uri 
)

Definition at line 242 of file VarState.cc.

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

ESIVarState::~ESIVarState ( )

Member Function Documentation

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

Definition at line 282 of file VarState.cc.

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

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

void ESIVarState::buildVary ( HttpReply rep)
ESIVarState::CBDATA_CLASS ( ESIVarState  )
private
void ESIVarState::cookieUsed ( )

Definition at line 46 of file VarState.cc.

References flags.

Referenced by ESIVariableCookie::eval().

void ESIVarState::doIt ( )
private
char * ESIVarState::extractChar ( )
ESISegment::Pointer ESIVarState::extractList ( )

Definition at line 107 of file VarState.cc.

References debugs, doIt(), NULL, and output.

Referenced by esiLiteral::process().

void ESIVarState::feedData ( const char *  buf,
size_t  len 
)
ESIVarState::Variable * ESIVarState::GetVar ( char const *  s,
int  len 
)
void ESIVarState::hostUsed ( )

Definition at line 40 of file VarState.cc.

References flags.

Referenced by ESIVariableHost::eval().

void ESIVarState::languageUsed ( )

Definition at line 52 of file VarState.cc.

References flags.

Referenced by ESIVariableLanguage::eval().

void ESIVarState::refererUsed ( )

Definition at line 58 of file VarState.cc.

References flags.

Referenced by ESIVariableReferer::eval().

void ESIVarState::removeVariable ( String const &  name)

Definition at line 267 of file VarState.cc.

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

Referenced by addVariable().

void ESIVarState::setupUserAgent ( )
private
void ESIVarState::useragentUsed ( )

Definition at line 64 of file VarState.cc.

References flags.

Referenced by ESIVariableUserAgent::eval().

Member Data Documentation

int ESIVarState::cookie

Definition at line 67 of file VarState.h.

Variable* ESIVarState::defaultVariable
private

Definition at line 97 of file VarState.h.

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

struct { ... } ESIVarState::flags
HttpHeader ESIVarState::hdr
private

Definition at line 63 of file VarState.h.

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

int ESIVarState::host

Definition at line 68 of file VarState.h.

ESISegment::Pointer ESIVarState::input
private

Definition at line 61 of file VarState.h.

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

int ESIVarState::language

Definition at line 66 of file VarState.h.

ESISegment::Pointer ESIVarState::output
private

Definition at line 62 of file VarState.h.

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

int ESIVarState::referer

Definition at line 69 of file VarState.h.

int ESIVarState::useragent

Definition at line 70 of file VarState.h.

Trie ESIVarState::variables
private

Definition at line 95 of file VarState.h.

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

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

Definition at line 96 of file VarState.h.

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


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors