Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
THttpCallArg Class Reference

Contains arguments for single HTTP call.

Must be used in THttpEngine to process incoming http requests

Definition at line 27 of file THttpCallArg.h.

Public Types

enum  { kNoZip = 0 , kZip = 1 , kZipLarge = 2 , kZipAlways = 3 }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 

Public Member Functions

 THttpCallArg ()
 
virtual ~THttpCallArg ()
 destructor
 
void AddHeader (const char *name, const char *value)
 Set name: value pair to reply header.
 
void AddNoCacheHeader ()
 Set CacheControl http header to disable browser caching.
 
virtual Bool_t CanPostpone () const
 Return true if reply can be postponed by server

 
Bool_t CompressWithGzip ()
 Compress reply data with gzip compression.
 
template<class T , typename... Args>
void CreateWSEngine (Args... args)
 
std::string FillHttpHeader (const char *header=nullptr)
 Fills HTTP header, which can be send at the beginning of reply on the http request.
 
const void * GetContent () const
 
Long_t GetContentLength () const
 
const char * GetContentType () const
 
const char * GetFileName () const
 returns file name from request URL
 
TString GetHeader (const char *name)
 Return specified header.
 
TString GetHeaderName (Int_t number) const
 returns field name in header
 
const char * GetMethod () const
 returns request method like GET or POST
 
const char * GetPathName () const
 returns path name from request URL
 
const void * GetPostData () const
 return pointer on posted with request data
 
Long_t GetPostDataLength () const
 return length of posted with request data
 
const char * GetQuery () const
 returns request query (string after ? in request URL)
 
TString GetRequestHeader (const char *name)
 get named field from request header
 
TString GetRequestHeaderName (Int_t number) const
 returns field name in request header
 
const char * GetTopName () const
 returns engine-specific top-name
 
const char * GetUserName () const
 return authenticated user name (0 - when no authentication)
 
UInt_t GetWSId () const
 get web-socket id
 
virtual const char * GetWSKind () const
 provide WS kind - websocket, longpoll, rawlongpoll
 
virtual const char * GetWSPlatform () const
 provide WS platform - http, fastcgi, cef3, qt5
 
Int_t GetZipping () const
 
virtual void HttpReplied ()
 virtual method to inform object that http request is processed
 
Bool_t Is404 () const
 
TClassIsA () const override
 
Bool_t IsBinary () const
 
Bool_t IsContentType (const char *typ) const
 
Bool_t IsFile () const
 
Bool_t IsJson () const
 
Bool_t IsMethod (const char *name) const
 returns kTRUE if post method is used
 
Bool_t IsPostMethod () const
 returns kTRUE if post method is used
 
Bool_t IsPostponed () const
 
Bool_t IsText () const
 
Bool_t IsXml () const
 
void NotifyCondition ()
 Method used to notify condition which waiting when operation will complete.
 
Int_t NumHeader () const
 returns number of fields in header
 
Int_t NumRequestHeader () const
 returns number of fields in request header
 
void ReplaceAllinContent (const std::string &from, const std::string &to, bool once=false)
 Replace all occurrences of string in content.
 
void Set404 ()
 mark reply as 404 error - page/request not exists or refused
 
void SetBinary ()
 Set content type as "application/x-binary".
 
void SetBinaryContent (std::string &&bin)
 Set content type as "application/x-binary" and also assigns content.
 
void SetContent (const char *cont)
 Set content as text.
 
void SetContent (std::string &&cont)
 Set text or binary content directly After method call argument cont will be in undefined state.
 
void SetContentType (const char *typ)
 set content type like "text/xml" or "application/json"
 
void SetEncoding (const char *typ)
 Set Content-Encoding header like gzip.
 
void SetExtraHeader (const char *name, const char *value)
 add extra http header value to the reply
 
void SetFile (const char *filename=nullptr)
 indicate that http request should response with file content
 
void SetFileName (const char *f)
 set request file name
 
void SetJson ()
 Set content type as "application/json".
 
void SetJsonContent (std::string &&json)
 Set content type as "application/json" and also assigns content.
 
void SetMethod (const char *method)
 set request method kind like GET or POST
 
void SetPathAndFileName (const char *fullpath)
 Set complete path of requested http element.
 
void SetPathName (const char *p)
 set request path name
 
void SetPostData (std::string &&data)
 Set data, which is posted with the request.
 
void SetPostData (void *data, Long_t length, Bool_t make_copy=kFALSE)
 Set data, posted with the request.
 
void SetPostponed ()
 mark as postponed - reply will not be send to client immediately
 
void SetQuery (const char *q)
 set request query
 
void SetRequestHeader (const char *h)
 set full set of request header
 
void SetText ()
 Set content type as "text/plain".
 
void SetTextContent (std::string &&txt)
 Set content type as "text/plain" and also assigns content.
 
void SetTopName (const char *topname)
 set engine-specific top-name
 
void SetUserName (const char *n)
 set name of authenticated user
 
void SetWSId (UInt_t id)
 set web-socket id
 
void SetXml ()
 Set content type as "text/xml".
 
void SetXmlContent (std::string &&xml)
 Set content type as "text/xml" and also assigns content.
 
void SetZipping (Int_t mode=kZipLarge)
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility.
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method.
 
virtual void Copy (TObject &object) const
 Copy this to obj.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual const char * GetName () const
 Returns name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual const char * GetTitle () const
 Returns title of object.
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
virtual ULong_t Hash () const
 Return hash value for this object.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
virtual Bool_t IsSortable () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout.
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete (void *ptr, void *vp)
 Only called by placement new when throwing an exception.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void operator delete[] (void *ptr, void *vp)
 Only called by placement new[] when throwing an exception.
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 

Protected Member Functions

TString AccessHeader (TString &buf, const char *name, const char *value=nullptr, Bool_t doing_set=kFALSE)
 method used to get or set http header in the string buffer
 
TString CountHeader (const TString &buf, Int_t number=-1111) const
 method used to counter number of headers or returns name of specified header
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

Protected Attributes

std::condition_variable fCond
 ! condition used to wait for processing
 
TString fContentType
 ! type of content
 
TString fFileName
 ! file name
 
TString fHeader
 ! response header like ContentEncoding, Cache-Control and so on
 
TString fMethod
 ! request method like GET or POST
 
Bool_t fNotifyFlag {kFALSE}
 ! indicate that notification called
 
TString fPathName
 ! item path
 
TString fQuery
 ! additional arguments
 
TString fRequestHeader
 ! complete header, provided with request
 
TString fTopName
 ! top item name
 
TString fUserName
 ! authenticated user name (if any)
 
UInt_t fWSId {0}
 ! websocket identifier, used in web-socket related operations
 
Int_t fZipping {kNoZip}
 ! indicate if and when content should be compressed
 

Private Member Functions

void AssignWSId ()
 Assign websocket identifier from the engine.
 
std::shared_ptr< THttpWSEngineTakeWSEngine ()
 Takeout websocket handle with HTTP call.
 

Private Attributes

std::string fContent
 ! content - text or binary
 
std::string fPostData
 ! data received with post request - text - or binary
 
std::shared_ptr< THttpWSEnginefWSEngine
 ! web-socket engine, which supplied to run created web socket
 

Friends

class THttpServer
 
class THttpWSEngine
 
class THttpWSHandler
 

Additional Inherited Members

- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 

#include <THttpCallArg.h>

Inheritance diagram for THttpCallArg:
[legend]

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kNoZip 
kZip 
kZipLarge 
kZipAlways 

Definition at line 34 of file THttpCallArg.h.

Constructor & Destructor Documentation

◆ THttpCallArg()

THttpCallArg::THttpCallArg ( )
inlineexplicit

Definition at line 74 of file THttpCallArg.h.

◆ ~THttpCallArg()

THttpCallArg::~THttpCallArg ( )
virtual

destructor

Definition at line 33 of file THttpCallArg.cxx.

Member Function Documentation

◆ AccessHeader()

TString THttpCallArg::AccessHeader ( TString buf,
const char *  name,
const char *  value = nullptr,
Bool_t  doing_set = kFALSE 
)
protected

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

Definition at line 47 of file THttpCallArg.cxx.

◆ AddHeader()

void THttpCallArg::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;

Definition at line 338 of file THttpCallArg.cxx.

◆ AddNoCacheHeader()

void THttpCallArg::AddNoCacheHeader ( )

Set CacheControl http header to disable browser caching.

Definition at line 352 of file THttpCallArg.cxx.

◆ AssignWSId()

void THttpCallArg::AssignWSId ( )
private

Assign websocket identifier from the engine.

Definition at line 252 of file THttpCallArg.cxx.

◆ CanPostpone()

virtual Bool_t THttpCallArg::CanPostpone ( ) const
inlinevirtual

Return true if reply can be postponed by server

Reimplemented in TFastCgiCallArg.

Definition at line 166 of file THttpCallArg.h.

◆ Class()

static TClass * THttpCallArg::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * THttpCallArg::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t THttpCallArg::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 253 of file THttpCallArg.h.

◆ CompressWithGzip()

Bool_t THttpCallArg::CompressWithGzip ( )

Compress reply data with gzip compression.

Definition at line 384 of file THttpCallArg.cxx.

◆ CountHeader()

TString THttpCallArg::CountHeader ( const TString buf,
Int_t  number = -1111 
) const
protected

method used to counter number of headers or returns name of specified header

Definition at line 95 of file THttpCallArg.cxx.

◆ CreateWSEngine()

template<class T , typename... Args>
void THttpCallArg::CreateWSEngine ( Args...  args)
inline

Definition at line 247 of file THttpCallArg.h.

◆ DeclFileName()

static const char * THttpCallArg::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 253 of file THttpCallArg.h.

◆ FillHttpHeader()

std::string THttpCallArg::FillHttpHeader ( const char *  name = nullptr)

Fills HTTP header, which can be send at the beginning of reply on the http request.

Parameters
nameis HTTP protocol name (default "HTTP/1.1")

Definition at line 362 of file THttpCallArg.cxx.

◆ GetContent()

const void * THttpCallArg::GetContent ( ) const
inline

Definition at line 240 of file THttpCallArg.h.

◆ GetContentLength()

Long_t THttpCallArg::GetContentLength ( ) const
inline

Definition at line 239 of file THttpCallArg.h.

◆ GetContentType()

const char * THttpCallArg::GetContentType ( ) const
inline

Definition at line 229 of file THttpCallArg.h.

◆ GetFileName()

const char * THttpCallArg::GetFileName ( ) const
inline

returns file name from request URL

Definition at line 149 of file THttpCallArg.h.

◆ GetHeader()

TString THttpCallArg::GetHeader ( const char *  name)

Return specified header.

Definition at line 319 of file THttpCallArg.cxx.

◆ GetHeaderName()

TString THttpCallArg::GetHeaderName ( Int_t  number) const
inline

returns field name in header

Definition at line 205 of file THttpCallArg.h.

◆ GetMethod()

const char * THttpCallArg::GetMethod ( ) const
inline

returns request method like GET or POST

Definition at line 131 of file THttpCallArg.h.

◆ GetPathName()

const char * THttpCallArg::GetPathName ( ) const
inline

returns path name from request URL

Definition at line 146 of file THttpCallArg.h.

◆ GetPostData()

const void * THttpCallArg::GetPostData ( ) const
inline

return pointer on posted with request data

Definition at line 140 of file THttpCallArg.h.

◆ GetPostDataLength()

Long_t THttpCallArg::GetPostDataLength ( ) const
inline

return length of posted with request data

Definition at line 143 of file THttpCallArg.h.

◆ GetQuery()

const char * THttpCallArg::GetQuery ( ) const
inline

returns request query (string after ? in request URL)

Definition at line 155 of file THttpCallArg.h.

◆ GetRequestHeader()

TString THttpCallArg::GetRequestHeader ( const char *  name)
inline

get named field from request header

Definition at line 125 of file THttpCallArg.h.

◆ GetRequestHeaderName()

TString THttpCallArg::GetRequestHeaderName ( Int_t  number) const
inline

returns field name in request header

Definition at line 122 of file THttpCallArg.h.

◆ GetTopName()

const char * THttpCallArg::GetTopName ( ) const
inline

returns engine-specific top-name

Definition at line 128 of file THttpCallArg.h.

◆ GetUserName()

const char * THttpCallArg::GetUserName ( ) const
inline

return authenticated user name (0 - when no authentication)

Definition at line 152 of file THttpCallArg.h.

◆ GetWSId()

UInt_t THttpCallArg::GetWSId ( ) const
inline

get web-socket id

Definition at line 107 of file THttpCallArg.h.

◆ GetWSKind()

virtual const char * THttpCallArg::GetWSKind ( ) const
inlinevirtual

provide WS kind - websocket, longpoll, rawlongpoll

Reimplemented in TCefHttpCallArg, TWebGuiCallArg, and TFastCgiCallArg.

Definition at line 110 of file THttpCallArg.h.

◆ GetWSPlatform()

virtual const char * THttpCallArg::GetWSPlatform ( ) const
inlinevirtual

provide WS platform - http, fastcgi, cef3, qt5

Reimplemented in TCefHttpCallArg, TWebGuiCallArg, and TFastCgiCallArg.

Definition at line 113 of file THttpCallArg.h.

◆ GetZipping()

Int_t THttpCallArg::GetZipping ( ) const
inline

Definition at line 219 of file THttpCallArg.h.

◆ HttpReplied()

void THttpCallArg::HttpReplied ( )
virtual

virtual method to inform object that http request is processed

Normally condition is notified and waiting thread will be awaked One could reimplement this method in sub-class

Reimplemented in TCefHttpCallArg, and TWebGuiCallArg.

Definition at line 465 of file THttpCallArg.cxx.

◆ Is404()

Bool_t THttpCallArg::Is404 ( ) const
inline

Definition at line 231 of file THttpCallArg.h.

◆ IsA()

TClass * THttpCallArg::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Definition at line 253 of file THttpCallArg.h.

◆ IsBinary()

Bool_t THttpCallArg::IsBinary ( ) const
inline

Definition at line 237 of file THttpCallArg.h.

◆ IsContentType()

Bool_t THttpCallArg::IsContentType ( const char *  typ) const
inline

Definition at line 228 of file THttpCallArg.h.

◆ IsFile()

Bool_t THttpCallArg::IsFile ( ) const
inline

Definition at line 232 of file THttpCallArg.h.

◆ IsJson()

Bool_t THttpCallArg::IsJson ( ) const
inline

Definition at line 236 of file THttpCallArg.h.

◆ IsMethod()

Bool_t THttpCallArg::IsMethod ( const char *  name) const
inline

returns kTRUE if post method is used

Definition at line 134 of file THttpCallArg.h.

◆ IsPostMethod()

Bool_t THttpCallArg::IsPostMethod ( ) const
inline

returns kTRUE if post method is used

Definition at line 137 of file THttpCallArg.h.

◆ IsPostponed()

Bool_t THttpCallArg::IsPostponed ( ) const
inline

Definition at line 233 of file THttpCallArg.h.

◆ IsText()

Bool_t THttpCallArg::IsText ( ) const
inline

Definition at line 234 of file THttpCallArg.h.

◆ IsXml()

Bool_t THttpCallArg::IsXml ( ) const
inline

Definition at line 235 of file THttpCallArg.h.

◆ NotifyCondition()

void THttpCallArg::NotifyCondition ( )

Method used to notify condition which waiting when operation will complete.

Condition notified only if not-postponed state is set

Definition at line 451 of file THttpCallArg.cxx.

◆ NumHeader()

Int_t THttpCallArg::NumHeader ( ) const
inline

returns number of fields in header

Definition at line 202 of file THttpCallArg.h.

◆ NumRequestHeader()

Int_t THttpCallArg::NumRequestHeader ( ) const
inline

returns number of fields in request header

Definition at line 119 of file THttpCallArg.h.

◆ ReplaceAllinContent()

void THttpCallArg::ReplaceAllinContent ( const std::string &  from,
const std::string &  to,
bool  once = false 
)

Replace all occurrences of string in content.

Parameters
fromthat to replace
tonew content
onceset to true to stop after first occurrence is replaced Normally used only internally

Definition at line 278 of file THttpCallArg.cxx.

◆ Set404()

void THttpCallArg::Set404 ( )
inline

mark reply as 404 error - page/request not exists or refused

Definition at line 163 of file THttpCallArg.h.

◆ SetBinary()

void THttpCallArg::SetBinary ( )

Set content type as "application/x-binary".

Definition at line 206 of file THttpCallArg.cxx.

◆ SetBinaryContent()

void THttpCallArg::SetBinaryContent ( std::string &&  bin)

Set content type as "application/x-binary" and also assigns content.

Parameters
binwill be in undefined state after method call

Definition at line 216 of file THttpCallArg.cxx.

◆ SetContent() [1/2]

void THttpCallArg::SetContent ( const char *  cont)

Set content as text.

Content will be copied by THttpCallArg

Definition at line 129 of file THttpCallArg.cxx.

◆ SetContent() [2/2]

void THttpCallArg::SetContent ( std::string &&  cont)

Set text or binary content directly After method call argument cont will be in undefined state.

Definition at line 141 of file THttpCallArg.cxx.

◆ SetContentType()

void THttpCallArg::SetContentType ( const char *  typ)
inline

set content type like "text/xml" or "application/json"

Definition at line 160 of file THttpCallArg.h.

◆ SetEncoding()

void THttpCallArg::SetEncoding ( const char *  typ)
inline

Set Content-Encoding header like gzip.

Definition at line 210 of file THttpCallArg.h.

◆ SetExtraHeader()

void THttpCallArg::SetExtraHeader ( const char *  name,
const char *  value 
)
inline

add extra http header value to the reply

Definition at line 222 of file THttpCallArg.h.

◆ SetFile()

void THttpCallArg::SetFile ( const char *  filename = nullptr)
inline

indicate that http request should response with file content

Definition at line 178 of file THttpCallArg.h.

◆ SetFileName()

void THttpCallArg::SetFileName ( const char *  f)
inline

set request file name

Definition at line 91 of file THttpCallArg.h.

◆ SetJson()

void THttpCallArg::SetJson ( )

Set content type as "application/json".

Definition at line 187 of file THttpCallArg.cxx.

◆ SetJsonContent()

void THttpCallArg::SetJsonContent ( std::string &&  json)

Set content type as "application/json" and also assigns content.

Parameters
jsonwill be in undefined state after method call

Definition at line 197 of file THttpCallArg.cxx.

◆ SetMethod()

void THttpCallArg::SetMethod ( const char *  method)
inline

set request method kind like GET or POST

Definition at line 80 of file THttpCallArg.h.

◆ SetPathAndFileName()

void THttpCallArg::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

Definition at line 295 of file THttpCallArg.cxx.

◆ SetPathName()

void THttpCallArg::SetPathName ( const char *  p)
inline

set request path name

Definition at line 88 of file THttpCallArg.h.

◆ SetPostData() [1/2]

void THttpCallArg::SetPostData ( std::string &&  data)

Set data, which is posted with the request.

Although std::string is used, not only text data can be assigned - std::string can contain any sequence of symbols

Definition at line 244 of file THttpCallArg.cxx.

◆ SetPostData() [2/2]

void THttpCallArg::SetPostData ( void *  data,
Long_t  length,
Bool_t  make_copy = kFALSE 
)

Set data, posted with the request.

If make_copy==kFALSE, data will be released with free(data) call

Deprecated:
Use signature with std::string

Definition at line 228 of file THttpCallArg.cxx.

◆ SetPostponed()

void THttpCallArg::SetPostponed ( )
inline

mark as postponed - reply will not be send to client immediately

Definition at line 169 of file THttpCallArg.h.

◆ SetQuery()

void THttpCallArg::SetQuery ( const char *  q)
inline

set request query

Definition at line 97 of file THttpCallArg.h.

◆ SetRequestHeader()

void THttpCallArg::SetRequestHeader ( const char *  h)
inline

set full set of request header

Definition at line 116 of file THttpCallArg.h.

◆ SetText()

void THttpCallArg::SetText ( )

Set content type as "text/plain".

Definition at line 149 of file THttpCallArg.cxx.

◆ SetTextContent()

void THttpCallArg::SetTextContent ( std::string &&  txt)

Set content type as "text/plain" and also assigns content.

Parameters
txtwill be in undefined state after method call

Definition at line 159 of file THttpCallArg.cxx.

◆ SetTopName()

void THttpCallArg::SetTopName ( const char *  topname)
inline

set engine-specific top-name

Definition at line 83 of file THttpCallArg.h.

◆ SetUserName()

void THttpCallArg::SetUserName ( const char *  n)
inline

set name of authenticated user

Definition at line 94 of file THttpCallArg.h.

◆ SetWSId()

void THttpCallArg::SetWSId ( UInt_t  id)
inline

set web-socket id

Definition at line 104 of file THttpCallArg.h.

◆ SetXml()

void THttpCallArg::SetXml ( )

Set content type as "text/xml".

Definition at line 168 of file THttpCallArg.cxx.

◆ SetXmlContent()

void THttpCallArg::SetXmlContent ( std::string &&  xml)

Set content type as "text/xml" and also assigns content.

Parameters
xmlwill be in undefined state after method call

Definition at line 178 of file THttpCallArg.cxx.

◆ SetZipping()

void THttpCallArg::SetZipping ( Int_t  mode = kZipLarge)
inline

Definition at line 218 of file THttpCallArg.h.

◆ Streamer()

void THttpCallArg::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TObject.

◆ StreamerNVirtual()

void THttpCallArg::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 253 of file THttpCallArg.h.

◆ TakeWSEngine()

std::shared_ptr< THttpWSEngine > THttpCallArg::TakeWSEngine ( )
private

Takeout websocket handle with HTTP call.

can be done only once

Definition at line 262 of file THttpCallArg.cxx.

Friends And Related Symbol Documentation

◆ THttpServer

friend class THttpServer
friend

Definition at line 29 of file THttpCallArg.h.

◆ THttpWSEngine

friend class THttpWSEngine
friend

Definition at line 30 of file THttpCallArg.h.

◆ THttpWSHandler

friend class THttpWSHandler
friend

Definition at line 31 of file THttpCallArg.h.

Member Data Documentation

◆ fCond

std::condition_variable THttpCallArg::fCond
protected

! condition used to wait for processing

Definition at line 51 of file THttpCallArg.h.

◆ fContent

std::string THttpCallArg::fContent
private

! content - text or binary

Definition at line 67 of file THttpCallArg.h.

◆ fContentType

TString THttpCallArg::fContentType
protected

! type of content

Definition at line 53 of file THttpCallArg.h.

◆ fFileName

TString THttpCallArg::fFileName
protected

! file name

Definition at line 45 of file THttpCallArg.h.

◆ fHeader

TString THttpCallArg::fHeader
protected

! response header like ContentEncoding, Cache-Control and so on

Definition at line 55 of file THttpCallArg.h.

◆ fMethod

TString THttpCallArg::fMethod
protected

! request method like GET or POST

Definition at line 43 of file THttpCallArg.h.

◆ fNotifyFlag

Bool_t THttpCallArg::fNotifyFlag {kFALSE}
protected

! indicate that notification called

Definition at line 58 of file THttpCallArg.h.

◆ fPathName

TString THttpCallArg::fPathName
protected

! item path

Definition at line 44 of file THttpCallArg.h.

◆ fPostData

std::string THttpCallArg::fPostData
private

! data received with post request - text - or binary

Definition at line 68 of file THttpCallArg.h.

◆ fQuery

TString THttpCallArg::fQuery
protected

! additional arguments

Definition at line 47 of file THttpCallArg.h.

◆ fRequestHeader

TString THttpCallArg::fRequestHeader
protected

! complete header, provided with request

Definition at line 54 of file THttpCallArg.h.

◆ fTopName

TString THttpCallArg::fTopName
protected

! top item name

Definition at line 42 of file THttpCallArg.h.

◆ fUserName

TString THttpCallArg::fUserName
protected

! authenticated user name (if any)

Definition at line 46 of file THttpCallArg.h.

◆ fWSEngine

std::shared_ptr<THttpWSEngine> THttpCallArg::fWSEngine
private

! web-socket engine, which supplied to run created web socket

Definition at line 65 of file THttpCallArg.h.

◆ fWSId

UInt_t THttpCallArg::fWSId {0}
protected

! websocket identifier, used in web-socket related operations

Definition at line 49 of file THttpCallArg.h.

◆ fZipping

Int_t THttpCallArg::fZipping {kNoZip}
protected

! indicate if and when content should be compressed

Definition at line 56 of file THttpCallArg.h.

Libraries for THttpCallArg:

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