ROOT logo
ROOT » NET » HTTP » THttpCallArg

class THttpCallArg: public TObject


THttpCallArg

Contains arguments for single HTTP call
Must be used in THttpEngine to process incoming http requests


Function Members (Methods)

public:
THttpCallArg()
virtual~THttpCallArg()
voidTObject::AbstractMethod(const char* method) const
voidAddHeader(const char* name, const char* value)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
Bool_tCompressWithGzip()
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
voidFillHttpHeader(TString& buf, const char* header = 0)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
const void*GetContent() const
Long_tGetContentLength() const
const char*GetContentType() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const char*GetFileName() const
TStringGetHeader(const char* name)
TStringGetHeaderName(Int_t number) const
virtual const char*TObject::GetIconName() const
const char*GetMethod() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
const char*GetPathName() const
void*GetPostData() const
Long_tGetPostDataLength() const
const char*GetQuery() const
TStringGetRequestHeader(const char* name)
TStringGetRequestHeaderName(Int_t number) const
virtual const char*TObject::GetTitle() const
const char*GetTopName() const
virtual UInt_tTObject::GetUniqueID() const
const char*GetUserName() const
Int_tGetZipping() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
Bool_tIs404() const
virtual TClass*IsA() const
Bool_tIsContentType(const char* typ) const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsFile() const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsPostMethod() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
Int_tNumHeader() const
Int_tNumRequestHeader() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidSet404()
voidSetBinData(void* data, Long_t length)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetContent(const char* c)
voidSetContentType(const char* typ)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEncoding(const char* typ)
voidSetExtraHeader(const char* name, const char* value)
voidSetFile(const char* filename = 0)
voidSetFileName(const char* f)
voidSetJson()
voidSetMethod(const char* method)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPathAndFileName(const char* fullpath)
voidSetPathName(const char* p)
voidSetPostData(void* data, Long_t length)
voidSetQuery(const char* q)
voidSetRequestHeader(const char* h)
voidSetTopName(const char* topname)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUserName(const char* n)
voidSetXml()
voidSetZipping(Int_t kind)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TStringAccessHeader(TString& buf, const char* name, const char* value = 0, Bool_t doing_set = kFALSE)
TStringCountHeader(const TString& buf, Int_t number = -1111) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tIsBinData() const
voidTObject::MakeZombie()

Data Members

protected:
void*fBinData! binary data, assigned with http call
Long_tfBinDataLength! length of binary data
TConditionfCond! condition used to wait for processing
TStringfContent! text content (if any)
TStringfContentType! type of content
TStringfFileName! file name
TStringfHeader! response header like ContentEncoding, Cache-Control and so on
TStringfMethod! request method like GET or POST
TStringfPathName! item path
void*fPostData! binary data received with post request
Long_tfPostDataLength! length of binary data
TStringfQuery! additional arguments
TStringfRequestHeader! complete header, provided with request
TStringfTopName! top item name
TStringfUserName! authenticated user name (if any)
Int_tfZipping! indicate if content should be zipped

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

THttpCallArg()
 constructor
~THttpCallArg()
 destructor
TString AccessHeader(TString& buf, const char* name, const char* value = 0, Bool_t doing_set = kFALSE)
 method used to get or set http header in the string buffer
 Header has following format:
   field1 : value1\r\n
   field2 : value2\r\n
 Such format corresponds to header format in HTTP requests
TString CountHeader(const TString& buf, Int_t number = -1111) const
 method used to counter number of headers or returns name of specified header
void SetPostData(void* data, Long_t length)
 set data, posted with the request
 buffer should be allocated with malloc(length+1) call,
 while last byte will be set to 0
 Than one could use post data as null-terminated string
void SetBinData(void* data, Long_t length)
 set binary data, which will be returned as reply body
void SetPathAndFileName(const char* fullpath)
 set complete path of requested http element
 For instance, it could be "/folder/subfolder/get.bin"
 Here "/folder/subfolder/" is element path and "get.bin" requested file.
 One could set path and file name separately
TString GetHeader(const char* name)
 return specified header
void AddHeader(const char* name, const char* value)
 Set name: value pair to reply header
 Content-Type field handled separately - one should use SetContentType() method
 Content-Length field cannot be set at all;
void FillHttpHeader(TString& buf, const char* header = 0)
 fill HTTP header
Bool_t CompressWithGzip()
 compress reply data with gzip compression
Bool_t IsBinData() const
void SetMethod(const char* method)
 these methods used to set http request arguments
void SetTopName(const char* topname)
 set engine-specific top-name
void SetPathName(const char* p)
 set request path name
void SetFileName(const char* f)
 set request file name
void SetUserName(const char* n)
 set name of authenticated user
void SetQuery(const char* q)
 set request query
void SetRequestHeader(const char* h)
 set full set of request header
Int_t NumRequestHeader() const
 returns number of fields in request header
TString GetRequestHeaderName(Int_t number) const
 returns field name in request header
TString GetRequestHeader(const char* name)
 get named field from request header
const char * GetTopName() const
 returns engine-specific top-name
const char * GetMethod() const
 returns request method like GET or POST
Bool_t IsPostMethod() const
 returns kTRUE if post method is used
void* GetPostData() const
 return pointer on posted with request data
Long_t GetPostDataLength() const
 return length of posted with request data
const char * GetPathName() const
 returns path name from request URL
const char * GetFileName() const
 returns file name from request URL
const char * GetUserName() const
 return authenticated user name (0 - when no authentication)
const char * GetQuery() const
 returns request query (string after ? in request URL)
void SetContentType(const char* typ)
 these methods used in THttpServer to set results of request processing
void Set404()
 mark reply as 404 error - page/request not exists
void SetFile(const char* filename = 0)
 indicate that http request should response with file content
void SetXml()
 set content type as JSON
void SetJson()
 set content type as JSON
Int_t NumHeader() const
 returns number of fields in header
TString GetHeaderName(Int_t number) const
 returns field name in header
void SetEncoding(const char* typ)
 Set Content-Encoding header like gzip
void SetContent(const char* c)
 Set content directly
void SetZipping(Int_t kind)
 Set kind of content zipping
 0 - none
 1 - only when supported in request header
 2 - if supported and content size bigger than 10K
 3 - always
Int_t GetZipping() const
 return kind of content zipping
void SetExtraHeader(const char* name, const char* value)
Bool_t IsContentType(const char* typ) const
 these methods used to return results of http request processing
Bool_t Is404() const
Bool_t IsFile() const
const char * GetContentType() const
Long_t GetContentLength() const
const void * GetContent() const