IRISLIB database
StreamServer Class Reference

The <class>CSP.StreamServer</class> serves any stream data directly from InterSystems IRIS. More...

Inheritance diagram for StreamServer:
Collaboration diagram for StreamServer:

Static Public Member Functions

_.Library.Boolean FileClassify (_.Library.String ext, _.Library.String type, _.Library.Boolean bin, _.Library.String charset)
 Classify a file type.
 
_.Library.String FromHTTPDate (_.Library.String hd)
 Convert an HTTP date to a $HOROLOG format date, converts from UTC time. More...
 
_.Library.Status OnPage ()
 The <method>OnPage()</method> is called by the CSP dispatcher to generate the. More...
 
_.Library.Boolean OnPreHTTP ()
 The <method>OnPostHTTP()</method> is called by the CSP dispatcher before the HTTP. More...
 
_.Library.String ToHTTPDate (_.Library.String h)
 Convert a $H value into an HTTP date format. More...
 
- Static Public Member Functions inherited from Page
_.Library.Status ConvertParameter (_.Library.String url, _.Library.String name, _.Library.String value)
 You pass this the <parameter>url</parameter> of the page you are going to and a. More...
 
_.Library.Binary Decrypt (_.Library.String data)
 Decrypts the input string using the session.Key value that is unique to. More...
 
_.Library.String Encrypt (_.Library.Binary data)
 Encrypts the input string using the session.Key value that is unique to this. More...
 
_.Library.String EscapeHTML (in)
 This method converts input HTML text into Escaped HTML text.
 
_.Library.String EscapeURL (_.Library.String in, _.Library.String charset)
 This method converts the in input URL string into Escaped URL string. More...
 
_.Library.String HyperEventCall (_.Library.String methodName, _.Library.String args, _.Library.Integer type, _.Library.Boolean mobile)
 This method returns the string that needs to be written to the current. More...
 
_.Library.String HyperEventHead (_.Library.Boolean iframeOnly, _.Library.Boolean strict, _.Library.Boolean optionalBroker)
 This method returns the string that needs to be written to the current. More...
 
 Include (_.Library.String url)
 Include another csp page or file in the output at this point. More...
 
_.Library.String InsertHiddenField (_.Library.String url, _.Library.String name, _.Library.String value, _.Library.String extra)
 Inserts a '<input type="hidden" name="Name" value="Value">' tag into the current document. More...
 
_.Library.String InsertHiddenFields (_.Library.String url, _.Library.String query)
 Return the string containing the hidden form tags. More...
 
_.Library.Boolean IsPrivate ()
 Returns 1 if this page is in fact a private page (see <parameter>PRIVATE</parameter>).
 
_.Library.String Link (_.Library.String link, _.Library.String query, _.Library.Boolean addQ)
 Tranforms the link specified by link into a URL and returns it as a string. More...
 
_.Library.Status OnHTTPHeader (_.Library.Boolean OutputBody)
 Event handler for PAGE event: this is invoked in order to
More...
 
 OnPageError (_.Library.Status sc)
 Event handler for any error that occurs on the page. More...
 
 OnPostHTTP ()
 Event handler for POSTPAGE event: this is invoked after the data. More...
 
_.Library.Status OnPostHyperEvent (_.Library.String class, _.Library.String method)
 Event handler which is invoked after a hyperevent method is called on this page.
 
_.Library.Status OnPreHyperEvent (_.Library.String class, _.Library.String method)
 Event handler which is invoked before a hyperevent method is called on this page. More...
 
_.Library.Status Page (_.Library.Boolean skipheader)
 Process a request to serve a CSPPage. More...
 
_.Library.String QuoteJS (in)
 This method converts input string into quoted JavaScript literal.
 
_.Library.String RewriteURL (_.Library.String url)
 This method will rewrite a URL to use #url()# if needed.
 
 ShowError (_.Library.Status sc)
 Display a <class>Status</class> error code to the CSP Page.
 
 StartTimer (_.Library.String name)
 Used to get performance information on your CSP pages. More...
 
 StopTimer (_.Library.String name)
 Used to time performance information on your CSP pages. More...
 
 ThrowError (_.Library.Status sc)
 Passed a <class>Status</class> code this goes to the error page passing this status code.
 
_.Library.String UnescapeHTML (in)
 This method converts Escaped HTML text into normal HTML text.
 
_.Library.String UnescapeURL (_.Library.String in, _.Library.String charset)
 This method converts the in Escaped URL string back to its original form. More...
 

Static Public Attributes

 UseSession = None
 Stream serving does not need the session.
 
- Static Public Attributes inherited from Page
 CHARSET = None
 The <CLASS>CSP.Page</CLASS> object serves as an event handler for CSP requests. More...
 
 CONTENTTYPE = None
 Specifies the default content type for the page. More...
 
 CONVERTINPUTSTREAM = None
 Specifies if input request.Content or request.MimeData values are converted from their. More...
 
 CSPFILE = None
 If this page was compiled from a .csp file, then this parameter contains the. More...
 
 CSPSTRICT = None
 The CSPSTRICT parameter is set to 1, if the DOCTYPE indicates that this. More...
 
 CSPURL = None
 This parameter is used to make sure that if multiple. More...
 
 CSPXHTML = None
 The CSPXHTML parameter is set to 1, if the DOCTYPE indicates that this. More...
 
 DOMAIN = None
 The default domain for csp:text, span and div tags. More...
 
 ENCODED = None
 Controls how the query parameters for this page are passed, it can. More...
 
 ERRORPAGE = None
 Specify a custom error page to call if there are any problems with generating this page. More...
 
 EXPIRES = None
 Specified the default value for the response.Expires. More...
 
 NOCHARSETCONVERT = None
 Specifies if we wish to turn off charset conversion for this page. More...
 
 PAGETIMING = None
 If this parameter is true then we automatically record timing statistics of how long it takes to. More...
 
 PRIVATE = None
 Controls the access to the page, it can be set to one of the following:
More...
 
 SECURITYRESOURCE = None
 This is a comma-delimited list of system Resources and associated. More...
 
 TIMINGSLOTS = None
 Used by the timing to decide how many slots a day should be divided up into. More...
 
 UseSession = None
 This parameter controls the CSP session support. More...
 

Detailed Description

The <class>CSP.StreamServer</class> serves any stream data directly from InterSystems IRIS.

It derives from CSP.Page and implements the <method>OnPage()</method> and <method>OnPreHTTP()</method> methods.
You can control how the stream is sent using the stream's attributes, these attributes can be accessed via properties in the <class>CSP.CharacterStream</class> and <class>CSP.BinaryStream</class>, however you can also set these directly in any stream class. The attributes are:

  1. ContentType - Sets the response.ContentType property
  2. CharSet - Sets the response.CharSet property
  3. Expires - Sets the response.Expires property
  4. ContentDisposition - Set the 'Content-Disposition' response header

You can set the default charset to server up character files in using the global ^SYS("CSP","DefaultFileCharset"), and if you need to define settings per extension (in uppercase) you can use ^SYS("CSP","MimeFileClassify",$zcvt(ext,"U"))=$listbuild(type,bin,charset) where:

  1. type - Content Type value, e.g. 'text/javascript'
  2. bin - 1 if this is binary and 0 if this is a character file
  3. charset - For character files the charset to report in the charset header

If nothing is defined then for character files we use the default charset associated with the file device in InterSystems IRIS.

Member Function Documentation

◆ FromHTTPDate()

_.Library.String FromHTTPDate ( _.Library.String  hd)
static

Convert an HTTP date to a $HOROLOG format date, converts from UTC time.

to the local time.

◆ OnPage()

_.Library.Status OnPage ( )
static

The <method>OnPage()</method> is called by the CSP dispatcher to generate the.

page content. For CSP.StreamServer, since the content type is actually a stream, not HTML we simply write out the stream data.

Reimplemented from Page.

◆ OnPreHTTP()

_.Library.Boolean OnPreHTTP ( )
static

The <method>OnPostHTTP()</method> is called by the CSP dispatcher before the HTTP.

headers have been sent. Here, we check that the incoming STREAMOID value is valid, then we set the appropriate content type and content length values into the response object (see <class>CSP.Request</class>), in preparation for sending the image data in the <method>OnPage()</method>.

Reimplemented from Page.

◆ ToHTTPDate()

_.Library.String ToHTTPDate ( _.Library.String  h)
static

Convert a $H value into an HTTP date format.

It assumes that $H is local

time and converts it to UTC