dmpiniturl
procedure dmpiniturl(res:dmpresource, url:text, authtokentype:text, authtoken:text)
procedure dmpiniturl(res:dmpresource, url:text, authheaders:array(set of string) of text)
procedure dmpiniturl(res:dmpresource, url:text, getauthheaders:function(res:dmpresource, authheaders:array(set of string) of text):integer
|
res
|
The
dmpresource value to initialize.
|
||||
|
url
|
The resource root URL. All dmphttp calls through this resource will be relative to this URL.
|
||||
|
authtokentype
|
The type of authorization token, expressed as one of the following constants:
|
||||
|
authtoken
|
The authorization token to add to outgoing HTTP requests made through this resource.
|
||||
|
authheaders
|
A collection of HTTP Headers to add to outgoing HTTP requests made through this resource.
|
||||
|
getauthheaders
|
A function pointer which will be called to fetch the HTTP headers to add to outgoing requests. This function should populate the
authheaders array with the headers to use and return the number of seconds for which they can be used, or 0 if fresh headers should be requested for every request.
|
declarations
res: dmpresource
headers: dynamic array(set of string) of text
end-declarations
headers("Cookie") := "SESSIONID=8364825249"
headers("Authorization") := "Bearer 834692364jdnvdjfvb7t3jkd78"
dmpiniturl(res, "http://fakeresource.example.com/", headers)
if res.status<>DMP_OK then
writeln('ERROR: ',res.lasterror)
end-if
declarations
CLIENT_ID="orughu8sbgofb954g6htg0rwehgosdfg"
SECRET="guhsogbosfgosdngds"
public request,response: text
res: dmpresource
end-declarations
function addauthheader(res:dmpresource,
headers:array(set of string) of text): integer
! Make REST request to get bearer token for given client_id/secret
request := '{"clientId":"'+CLIENT_ID+'", "secret":"'+SECRET+'"}'
if dmphttppost(res, '/rest/auth/token', "text:request",
"text:response")<>200 or res.status<>DMP_OK
then
writeln('ERROR: Failed to request bearer token')
else
! Bearer token will be in response body
headers("Authorization") := "Bearer "+response
! Bearer token will be usable for 30 minutes
returned := 1800
end-if
end-function
dmpiniturl(res, "http://fakeresource.example.com/", ->addauthheader)
if res.status<>DMP_OK then
writeln('ERROR: ',res.lasterror)
end-if
© 2001-2024 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.
