Api.Atelier.v2 provides version 2 APIs for Atelier More...
Static Public Member Functions | |
_.Library.Status | GetCSPDebugId () |
Api.Atelier.v2 provides version 2 APIs for Atelier More... | |
_.Library.Status | GetDoc (_.Library.String pNamespace, _.Library.String pDocName) |
This method returns the text for the named document and namespace. More... | |
_.Library.Status | GetMacroDefinition (_.Library.String pNamespace) |
Input request: More... | |
_.Library.Status | GetMacroExpansion (_.Library.String pNamespace) |
Input request: More... | |
_.Library.Status | GetMacroList (_.Library.String pNamespace) |
Input request: More... | |
_.Library.Status | GetMacroLocation (_.Library.String pNamespace) |
Input request: More... | |
_.Library.Status | GetMacroSignature (_.Library.String pNamespace) |
Input request: More... | |
_.Library.Status | PutDoc (_.Library.String pNamespace, _.Library.String pDocName) |
This method saves the supplied document. More... | |
_.Library.Status | Search (_.Library.String pNamespace) |
This method searches a set of documents using a Regular Expression or a text string. More... | |
![]() | |
_.Library.Status | Compile (_.Library.String pNamespace) |
Api.Atelier.v1 provides version 1 APIs for Atelier More... | |
_.Library.Status | CvtClientDocToXml (_.Library.String pNamespace) |
This method converts a client Doc to the corresponding XML. More... | |
_.Library.Status | CvtXmlToClientDoc (_.Library.String pNamespace) |
This method converts a XML to the corresponding client document format. More... | |
_.Library.Status | DeleteDoc (_.Library.String pNamespace, _.Library.String pDocName) |
This method deletes the named document in the specified namespace. More... | |
_.Library.Status | DeleteDocs (_.Library.String pNamespace) |
This method deletes the list of named documents which is passed in the body of the http request. More... | |
_.Library.Status | GetAdpInputOutputClass (_.Library.String pNamespace, _.Library.String pAdpName) |
This method returns the input and output type for the adapter. More... | |
_.Library.Status | GetCSPApps (_.Library.String pNamespace) |
This method returns a list csp apps defined on the server (or namespace) More... | |
GetDocNames (_.Library.String pNamespace, pCat, pType) | |
This method returns a list of document names. More... | |
_.Library.Status | GetDocs (_.Library.String pNamespace) |
This method returns the text for the all the specified documents in the namespace. More... | |
_.Library.Status | GetEnsClassType (_.Library.String pNamespace, _.Library.Integer pClassType) |
This method returns a list of Ensemble class names. More... | |
_.Library.Status | GetJobs () |
This method returns a list of running jobs in the InterSystems IRIS instance. More... | |
_.Library.Status | GetMetaData (_.Library.String pDataBaseName) |
This method returns the binary contents of the METADATA.zip file for the named database. More... | |
_.Library.Status | GetModifiedDocNames (_.Library.String pNamespace, _.Library.String pType) |
This method is passed a list of database keys and hashes as a json array. More... | |
_.Library.Status | GetNamespace (pNamespace) |
This method returns information about a specific namespace. More... | |
_.Library.Status | HeadDoc (_.Library.String pNamespace, _.Library.String pDocName) |
This method returns the HttpHeader for the named document and namespace. More... | |
_.Library.Status | Index (_.Library.String pNamespace) |
This method returns the indices for the all the specified documents in the namespace. More... | |
_.Library.Status | Query (_.Library.String pNamespace) |
This method returns the results of running the specified query in the specified namespace. More... | |
![]() | |
_.Library.Status | Http500 (_.Exception.AbstractException pE) |
Use our special format Http500 handler. | |
_.Library.Status | Page (_.Library.Boolean skipheader) |
Sets the response's localization domain (something that CSP.REST should do, in theory) and then invokes default super class behavior. | |
_.Library.Status | RenderResponseBody (_.Library.Status pStatus, _.Library.DynamicArray pMsgPart, _.Library.DynamicObject pResPart) |
Render the three-part Response Body which contains an status, console, and a result part. | |
_.Library.Status | ReportHttpStatusCode (pHttpStatus, _.Library.Status pSC) |
User our special format handler for other status codes. | |
_.Library.Status | ServeDoc (_.Library.String pDocName, _.Library.Status pStatus, _.Library.DynamicArray pMsgArray, _.Library.String pResArray, _.Library.String pTimeStamp, _.Library.Boolean pUpToDate, _.Library.DynamicObject pExtensionContent) |
This private helper method server wraps the message and document and returns it to the caller. | |
_.Library.Status | ServeXml (_.Library.String pDocName, _.Library.Status pStatus, _.Library.DynamicArray pMsgArray, _.Library.Stream pStream, _.Library.String pTimeStamp) |
This private helper method server wraps the message and document and returns it to the caller. | |
SetClientServerHash (_.Library.String pHash) | |
Set the clients version of the server hash. | |
![]() | |
_.Library.Boolean | AcceptsContentType (_.Library.String pType) |
This method tests the HTTP_ACCEPT header and returns true if. More... | |
_.Library.Status | AccessCheck (_.Library.Boolean pAuthorized) |
This method performs a basic access check. More... | |
_.Library.Status | DispatchRequest (_.Library.String url, _.Library.String method, _.Library.Boolean forwarded, args) |
Dispatch a REST request according to URL and Method. More... | |
_.Library.Status | Error (_.Library.Boolean skipheader) |
Called for a REST page in the event of an error being trapped by CSP server. | |
_.Library.String | GetAuthChallenge () |
This method determines what challenge will be sent with a 401 (Unauthorized) response. More... | |
_.Library.Status | Http403 (_.Library.Status pSC) |
Issue a '403' error (Deprecated, use ..ReportHttpStatusCode) | |
_.Library.Status | Http404 (_.Library.Status pSC) |
Issue a '404' error (Deprecated, use ..ReportHttpStatusCode) | |
_.Library.Status | Http405 (_.Library.String pSupportedVerbs) |
Issue a '405' error ( user can override) | |
_.Library.Status | Login (_.Library.Boolean skipheader) |
Called for a REST page in the event of a login being required. | |
_.Library.Status | OnPreDispatch (_.Library.String pUrl, _.Library.String pMethod, _.Library.Boolean pContinue) |
This method gets called prior to dispatch of the request. More... | |
SetResponseHeaderIfEmpty (_.Library.String pHeader, _.Library.String pValue) | |
This utility method sets a response header only if it currently does not have a value. | |
_.Library.Status | StatusToJSON (_.Library.Status pSC, _.Library.DynamicObject pJSON) |
Render a Status as JSON. | |
_.Library.Status | StatusToProxyObject (_.Library.Status pSC, _.ZEN.proxyObject pJSON) |
Render a Status as JSON (in the form of an array of objects representing each status value). | |
_.Library.Status | SupportedVerbs (pUrl, _.Library.String pVerbs) |
This generator creates the SupportedVerbs Method used to determine supported verbs to return for the OPTIONS request. | |
![]() | |
DrawCSS3STYLE () | |
Draw the style definitions for the login page. More... | |
DrawHEAD (pTitle) | |
Draw the HEAD section of the login page. More... | |
DrawSTHEAD () | |
Draw the HEAD section of the security token page. More... | |
DrawSTTitle (_.Library.String pTitle) | |
Draw the title section of the security token page. More... | |
DrawSTYLE () | |
Draw the style definitions for the login page. More... | |
DrawTitle (_.Library.String pTitle) | |
Draw the title section of the login page. More... | |
DrawTitleSection (_.Library.String msgs) | |
Draw the title section of the page. More... | |
_.Library.Status | OnHandleCorsRequest (_.Library.String url) |
This is the CORS request handler. More... | |
_.Library.Status | OnHandleOptionsRequest (_.Library.String url) |
This methods provides handling of the options request for this CSP application. More... | |
_.Library.Status | OnPage () |
Output the default login page as HTML. | |
_.Library.Boolean | OnPreHTTP () |
Determine if we need login CSRF tokens and if so add them. More... | |
![]() | |
_.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.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... | |
Additional Inherited Members | |
![]() | |
DOMAIN = None | |
Atelier.REST classes are unlikely to actually define messages with $$$Text More... | |
![]() | |
HandleCorsRequest = None | |
This parameter influences the CORS support. More... | |
TokenLoginEndpoint = None | |
If the REST application is using token authentication, then this parameter gives the path to use for the "login" endpoint. More... | |
TokenLogoutEndpoint = None | |
If the REST application is using token authentication, then this parameter gives the path to use for the "logout" endpoint. More... | |
TokenRefreshEndpoint = None | |
If the REST application is using token authentication, then this parameter gives the path to use for the "refresh" endpoint. More... | |
TokenRevokeEndpoint = None | |
If the REST application is using token authentication, then this parameter gives the path to use for the token revocation endpoint. More... | |
UseSession = None | |
This parameter controls the CSP session support. More... | |
![]() | |
DOMAIN = None | |
Provide a default login and security-token pages for CSP applications. More... | |
FAVORITEICON = None | |
Home favorite icon. | |
HandleCorsRequest = None | |
This parameter influences the CORS support for the CSP application that has this login page assigned. More... | |
LOGINTITLE = None | |
Title displayed for login page. More... | |
STYLESHEET = None | |
Name of stylesheet used for login page. More... | |
![]() | |
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... | |
Api.Atelier.v2 provides version 2 APIs for Atelier
|
static |
Api.Atelier.v2 provides version 2 APIs for Atelier
This method returns an id for use with CSP debugging
GET http://localhost:57772/api/atelier/v2/%25SYS/cspdebugid
HTTP Codes returned:-
HTTP 200 if OK
HTTP 500 if an error occurs (details will be in status error array)
Returned content is an integer debug identifier
{ "status": { "errors": [], "summary": "" }, "console": [], "result": { "content": { id: NNNNNN } } }
|
static |
This method returns the text for the named document and namespace.
HTTP Codes returned:-
HTTP 200 if OK
HTTP 304 if the document has not been modified (see https://en.wikipedia.org/wiki/HTTP_ETag)
HTTP 400 if the named resource is not a valid document name
HTTP 404 if the document does not exist
HTTP 500 if an unxpected error occurs (details will be in status error array)
Return content will contain a document object.
Errors pertaining to the document will be in the status property of the document object. If source control hooks are enabled for the namespace any console output generated by the hook will be captured and returned as an array of lines in the 'console' array.
The result contains the name of the requested document, the database where it is stored, its timestamp and category (CLS - class, RTN - routine, CSP - csp, OTH - other), as well as the document contents which are returned in an array.
For text documents this will be an array of strings and the 'enc' json field will be set to false.
For binary documents this will be an array of base64 encoded chunks and the 'enc' field will be set to true.
The URL parameter ?binary=1 can be passed to force the document to be encoded as binary.
The URL parameter ?storageOnly=1 can be passed to return only the storage portion of a class.
The URL parameter ?format= can be passed to specify the source format. The choices are "udl" (the default) or "xml".
If a 'soft' error occurs such as a 'document does not exist', additional information can be found in the 'status' field of the result. Examples of other soft errors are 'file is locked' etc.
Here is an example of the result of asking for Activate.Enum.cls
{ "status": { "errors": [], "summary": "" }, "console": [], "result": { "name": "%Activate.Enum.cls", "db": "IRISLIB", "ts": "2016-01-04 14:00:04.000", "cat": "CLS", "status": "", "enc": false, "content": [ "/// This class is the superclass for all enumerated types generated from", "/// a type library", "Class %Activate.Enum Extends %Integer [ Not ProcedureBlock, System = 3 ]", "{", "", "}", "" ] } }
and here is the result with ?binary=1
{ "status": { "errors": [], "summary": "" }, "console": [], "result": { "name": "%Activate.Enum.cls", "db": "IRISLIB", "ts": "2016-01-04 14:00:04.000", "cat": "CLS", "status": "", "enc": true, "content": [ "Ly8vIFRoaXMgY2xhc3MgaXMgdGhlIHN1cGVyY2xhc3MgZm9yIGFsbCBlbnVtZXJhdGVkIHR5cGVzIGdlbmVyYXRlZCBmcm9tCi8vLyBhIHR5cGUgbGlicmFyeQpDbGFzcyAlQWN0aXZhdGUuRW51bSBFeHRlbmRzICVJbnRlZ2VyIFsgTm90IFByb2NlZHVyZUJsb2NrLCBTeXN0ZW0gPSAzIF0KewoKfQo=" ] } }
Reimplemented from v1.
Reimplemented in v4.
|
static |
Input request:
{ "docname": "MyClass.cls", "macroname": "mymac", "superclasses": ["class1",...], "includes": ["include1",...], "includegenerators": ["generator1",...], "imports": ["package1",...], "mode": "generator" or "" }
Returned content:
{ "status": { "errors": [], "summary": "" }, "console": [], "result": { "content": { "definition": ["line1","line2",...] } } }
|
static |
Input request:
{ "docname": "MyClass.cls", "macroname": "mymac", "arguments": "(arg1,arg2,...)", "superclasses": ["class1",...], "includes": ["include1",...], "includegenerators": ["generator1",...], "imports": ["package1",...], "mode": "generator" or "" }
Returned content:
{ "status": { "errors": [], "summary": "" }, "console": [], "result": { "content": { "expansion": ["line1","line2",...] } } }
|
static |
Input request:
{ "docname": "MyClass.cls", "hash": "XXXX", "cursor": "XXX", "superclasses": ["class1",...], "includes": ["include1",...], "includegenerators": ["generator1",...], "imports": ["package1",...], "mode": "generator" or "" }
"hash" is a null string or the value returned from a previous call for this document. If the server contents have not changed, the result will be this same hash value and nothing else.
"cursor" is a null string or the value returned from the previous call.
Returned content:
{ "status": { "errors": [], "summary": "" }, "console": [], "result": { "content": { "hash": "XXXX", "cursor": "XXXX", "macros": ["macro1",...] } } }
"hash" is a value indicating the current contents of the server. If this value is passed in the next request for this document and the server contents have not changed, nothing needs to be returned.
"cursor" will be the null string if the macro list is complete. If it is not null, another call should be made, passing this cursor value, to get the next part of the macro list.
|
static |
Input request:
{ "docname": "MyClass.cls", "macroname": "mymac", "superclasses": ["class1",...], "includes": ["include1",...], "includegenerators": ["generator1",...], "imports": ["package1",...], "mode": "generator" or "" }
Returned content:
{ "status": { "errors": [], "summary": "" }, "console": [], "result": { "content": { "document": "name.inc", "line": lineno } } }
|
static |
Input request:
{ "docname": "MyClass.cls", "macroname": "mymac", "superclasses": ["class1",...], "includes": ["include1",...], "includegenerators": ["generator1",...], "imports": ["package1",...], "mode": "generator" or "" }
Returned content:
{ "status": { "errors": [], "summary": "" }, "console": [], "result": { "content": { "signature": "(arg1,arg2)" } } }
|
static |
This method saves the supplied document.
HTTP Codes returned:-
HTTP 201 if created
HTTP 400 if the resource name is an invalid document name
HTTP 404 if the resource is not found
HTTP 409 if a conflict between server and client versions is detected
HTTP 415 if not passed text/plain as content type
HTTP 425 if the document is locked and cannot be written to
HTTP 500 if an error occurs (details will be in status error array)
Return content will be a document object.
Errors pertaining to the document will be in the status property of the document object.
The URL parameter ?ignoreConflict=1 can be passed to bypass ETAG checking (see reference
above in 'GetDoc') and force the document to be written on the server.
Note that if the text on the server is changed during the save process (for example
by a source control hook) the new text will be returned in the content array
of the returned document.
Here is an example of a PUT for the document xyz.mac
{ "enc": false, "content": [ "ROUTINE xyz", "xyz ;", " w \"hello"" ] }
and the corresponding response :-
{ "status": { "errors": [], "summary": "" }, "console": [ ], "result": { "name": "xyz.mac", "db": "IRISSYS", "ts": "2016-01-12 17:18:29.332", "cat": "RTN", "status": "", "enc": false, "content": [] } }
Reimplemented from v1.
|
static |
This method searches a set of documents using a Regular Expression or a text string.
HTTP Codes returned:-
HTTP 200 if request is OK
HTTP 400 if there are missing arguments
Input request:
GET localhost:57772/api/atelier/v2/:namespace/action/search?query=expr&documents=list&sys=1&gen=1®ex=1&max=200
Required arguments are:
query = the search expression, a regular expression or a plain text string
documents = a comma-separated list of documents or masks with the * wild card
Optional arguments are:
regex = 0 or 1 (default 1) whether the query string is a regular expression or not
sys = 0 or 1 (default 0) include sytem documents in the search
gen = 0 or 1 (default 0) include generated documents in the search
max = nnn (default 200) maxinum number of results to return
The result is returned as the console output of the search and as a JSON array.
Example input to search for the word Email in all classes and MAC routines:
GET localhost:57772/api/atelier/v2/SAMPLES/action/search?query=.*\bEmail.*&documents=*.cls,*.mac
Returned content (some is omitted here):
{ "status": { "errors": [], "summary": "" }, "console": [ "", "Searching for '.*\\bEmail\\b.*' in '*.cls,*.mac'", "Cinema.Utils.cls(SendEmail+28): Quit \"Email confirmation has been sent to " _ Addr", "Wasabi.Data.Employee.cls(Email)[Type]: Wasabi.Common.DT.Email", "Wasabi.Data.Employee.cls(CopyFrom+26): set ..Email = employee.Email", "ZAUTHENTICATE.mac(175): Properties("EmailAddress") - Email address", "Found 11 occurrence/s in 7 file/s." ], "result": [ { "doc": "Cinema.Utils.cls", "matches": [ { "member": "SendEmail", "line": 28, "text": "Quit \"Email confirmation has been sent to " _ Addr" } ] }, { "doc": "Wasabi.Data.Employee.cls", "matches": [ { "member": "Email", "attr": "Type", "text": "Wasabi.Common.DT.Email" }, { "member": "CopyFrom", "line": 26, "text": "set ..Email = employee.Email" } ] }, { "doc": "ZAUTHENTICATE.mac", "matches": [ { "line": "175", "text": "Properties(\"EmailAddress") - Email address" } ] } ] }