ユニット core.http

最終公開日 : Sep 16, 2026
外部RESTサービスを呼び出すメソッドを提供するスクリプトユニットです。
メソッド
procedure addParameter(request: http\_request, parameter: string, value: string) リクエストにクエリパラメーターを追加します。
procedure addPath(request: http\_request, path: string) リクエストのURLにパスを追加します。
procedure addSegment(request: http\_request, segment: string) リクエストのURLにセグメントを追加します。
function createRequest(id: string): http\_request 構成IDで指定されたリクエストを作成します。
function delete(request: http\_request): http\_response DELETEリクエストを送信し、レスポンスを処理します。
function get(request: http\_request): http\_response GETリクエストを送信し、レスポンスを処理します。
function getConfigNames(request: http\_request): list<string> REST構成で指定されたキー名を取得します。
function getConfigValue(request: http\_request, name: string): string REST構成で指定された特定のキー名の値を取得します。
function getHeaderFirstValue(response: http\_response, headerName: string): string 指定された名前のヘッダーの最初のレスポンスヘッダー値を返します。
function getHeaderNames(response: http\_response): list<string> レスポンスヘッダー名を返します。
function getHeaderValues(response: http\_response, headerName: string): list<string> 指定された名前のヘッダーのレスポンスヘッダー値を返します。
function getJsonBody(response: http\_response): json\_value ボディレスポンスのJSON値を返します。
function getRequestUrl(request: http\_request): string リクエストのURLを取得します。
function getResponseUrl(response: http\_response): string レスポンスのURLを取得します。
function getStatusCode(response: http\_response): int レスポンスのステータスコードを返します。
function getStringBody(response: http\_response): string レスポンスの文字列ボディを返します。
function hasBody(response: http\_response): boolean レスポンスにボディがある場合、trueを返します。
function post(request: http\_request, body: string): http\_response 指定されたボディを設定してPOSTリクエストを送信し、レスポンスを処理します。
function put(request: http\_request, body: string): http\_response 指定されたボディを設定してPUTリクエストを送信し、レスポンスを処理します。
procedure setHeader(request: http\_request, headerField: string, value: string) リクエストのヘッダーフィールドに値を設定します。
procedure setTimeout(request: http\_request,timeout: int) リクエストにミリ秒単位でタイムアウトを設定します。

addParameter

procedure addParameter(request: http\_request, parameter: string, value: string)
リクエストにクエリパラメーターを追加します。パラメーター値はパーセンテージエンコードされます。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.addPath(request,'book');
  client.addParameter(request,'status','sold');
  ...
end
パラメーター:
request: リクエスト
parameter: クエリパラメーター
value: パラメーター値
使用可能な場所:

addPath

procedure addPath(request: http\_request, path: string)
リクエストのURLにパスを追加します。このメソッドは指定されたパスをエンコードしないことに注意してください。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.addPath(request,'book/findByStatus');
  ...
end
パラメーター:
request: リクエスト
path: 追加するパス
使用可能な場所:

addSegment

procedure addSegment(request: http\_request, segment: string)
リクエストのURLにセグメントを追加します。指定されたセグメントはパーセンテージエンコードされることに注意してください。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.addSegment(request,'search by term');
  ...
end
パラメーター:
request: リクエスト
segment: 追加するセグメント
使用可能な場所:

createRequest

function createRequest(id: string): http\_request
構成IDで指定されたリクエストを作成します。構成IDが見つからない場合、エラーが発生します。IDはEBX管理の構成テーブルで指定されます。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  ...
end
パラメーター:
id: 構成のID
戻り値:
リクエスト
使用可能な場所:

delete

function delete(request: http\_request): http\_response
DELETEリクエストを送信し、レスポンスを処理します。I/Oエラーが発生した場合、またはリクエストがタイムアウトした場合、エラーが発生します。返されるレスポンスには、ステータス、ヘッダー、および場合によってはボディが含まれます。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.addPath(request,'book');
  client.addPath(request,'B5253');
  var response := client.delete(request);
  ...
end
パラメーター:
request: リクエスト
戻り値:
受信したレスポンス
使用可能な場所:

get

function get(request: http\_request): http\_response
GETリクエストを送信し、レスポンスを処理します。I/Oエラーが発生した場合、またはリクエストがタイムアウトした場合、エラーが発生します。返されるレスポンスには、ステータス、ヘッダー、およびボディが含まれます。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.setHeader(request,'Content-Type','application/json');
  var response := client.get(request);
  ...
end
パラメーター:
request: リクエスト
戻り値:
受信したレスポンス
使用可能な場所:

getConfigNames

function getConfigNames(request: http\_request): list<string>
REST構成で指定されたキー名を取得します。キー名が見つからない場合、空のリストを返します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  var keyNames := client.getConfigNames(request);
  var keyValue := client.getConfigValue(request,keyNames[0]);
  ...
end
パラメーター:
request: リクエスト
戻り値:
文字列値
使用可能な場所:

getConfigValue

function getConfigValue(request: http\_request, name: string): string
REST構成で指定された特定のキー名の値を取得します。シークレットキーの値は常に復号化されます。キー名が見つからない場合、nullを返します。指定されたキーの値が復号化できない場合、エラーが発生します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  var accessKey := client.getConfigValue(request,'EBX');
  if not isNull(accessKey) then
  begin
    client.setHeader(request,'Authorization','EBX '| accessKey);
    ...
  end
end
パラメーター:
request: リクエスト
戻り値:
文字列値
使用可能な場所:

getHeaderFirstValue

function getHeaderFirstValue(response: http\_response, headerName: string): string
指定された名前のヘッダーの最初のレスポンスヘッダー値を返します。ヘッダー名が見つからない場合、nullを返します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  var response := client.get(request);
  var encoding := client.getHeaderFirstValue(response,'content-encoding');
  ...
end
パラメーター:
response: レスポンス
headerName: ヘッダー名
戻り値:
ヘッダー値
使用可能な場所:

getHeaderNames

function getHeaderNames(response: http\_response): list<string>
レスポンスヘッダー名を返します。名前付きヘッダーが見つからない場合、空のリストを返します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  var response := client.get(request);
  var headerNames := client.getHeaderNames(response);
  ...
end
パラメーター:
response: レスポンス
戻り値:
ヘッダー名のリスト
使用可能な場所:

getHeaderValues

function getHeaderValues(response: http\_response, headerName: string): list<string>
指定された名前のヘッダーのレスポンスヘッダー値を返します。名前が見つからない場合、空のリストを返します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  var response := client.get(request);
  var allowedMethod := client.getHeaderValues(response,'access-control-allow-methods');
  ...
end
パラメーター:
response: レスポンス
headerName: ヘッダー名
戻り値:
ヘッダー値のリスト
使用可能な場所:

getJsonBody

function getJsonBody(response: http\_response): json\_value
ボディレスポンスのJSON値を返します。レスポンスにボディがない場合、nullを返します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  var response := client.get(request);
  if (client.hasBody(response)) then
  begin
    var body:=client.getJsonBody(response).asObject;
    var id := json.getString(body, 'id');
    ...
  end
end
パラメーター:
response: レスポンス
戻り値:
ボディレスポンスのJSON値。レスポンスのボディが有効なJSONでない場合、またはnullの場合、nullを返します。
使用可能な場所:

getRequestUrl

function getRequestUrl(request: http\_request): string
リクエストのURLを取得します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.addPath(request,'author');
  var url:=client.getRequestUrl(response);
end
パラメーター:
request: リクエスト
戻り値:
URL
使用可能な場所:

getResponseUrl

function getResponseUrl(response: http\_response): string
レスポンスのURLを取得します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.addPath(request,'publisher');
  var response := client.get(request);
  var url:=client.getResponseUrl(response);
end
パラメーター:
response: レスポンス
戻り値:
URL
使用可能な場所:

getStatusCode

function getStatusCode(response: http\_response): int
レスポンスのステータスコードを返します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.addPath(request,'book');
  var response := client.get(request);
  var status:=client.getStatusCode(response);
  if (status = 200) then
  begin
    ...
  end
end
パラメーター:
response: レスポンス
戻り値:
ステータスコード
使用可能な場所:

getStringBody

function getStringBody(response: http\_response): string
レスポンスの文字列ボディを返します。レスポンスにボディがない場合、nullを返します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  var response := client.get(request);
  if (client.hasBody(response)) then
  begin
    var body:=client.getStringBody(response);
    ...
  end
end
パラメーター:
response: レスポンス
戻り値:
レスポンスの文字列ボディ
使用可能な場所:

hasBody

function hasBody(response: http\_response): boolean
レスポンスにボディがある場合、trueを返します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  var response := client.get(request);
  if (client.hasBody(response)) then
  begin
    ...
  end
end
パラメーター:
response: レスポンス
戻り値:
レスポンスボディがある場合はtrue、それ以外の場合はfalse
使用可能な場所:

post

function post(request: http\_request, body: string): http\_response
指定されたボディを設定してPOSTリクエストを送信し、レスポンスを処理します。I/Oエラーが発生した場合、またはリクエストがタイムアウトした場合、エラーが発生します。返されるレスポンスには、ステータス、ヘッダー、および場合によってはボディが含まれます。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.addPath(request,'book');
  var body:='{  "content": {  "id": "B5253",
  "title":  "Da Vinci Code"
  }
  }';
  var response := client.post(request,body);
  ...
end
パラメーター:
request: リクエスト
body: ボディ
戻り値:
受信したレスポンス
使用可能な場所:

put

function put(request: http\_request, body: string): http\_response
指定されたボディを設定してPUTリクエストを送信し、レスポンスを処理します。I/Oエラーが発生した場合、またはリクエストがタイムアウトした場合、エラーが発生します。返されるレスポンスには、ステータス、ヘッダー、および場合によってはボディが含まれます。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.addPath(request,'book');
  client.addPath(request,'B5253');
  var body:='{  "content": {
  "author":  "Dan Brown"
  }
  }';
  var response := client.put(request,body);
  ...
end
パラメーター:
request: リクエスト
body: ボディ
戻り値:
受信したレスポンス
使用可能な場所:

setHeader

procedure setHeader(request: http\_request, headerField: string, value: string)
リクエストのヘッダーフィールドに値を設定します。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.setHeader(request,'Content-Type','application/json');
  ...
end
パラメーター:
request: リクエスト
headerField: ヘッダーフィールド
value: 値
使用可能な場所:

setTimeout

procedure setTimeout(request: http\_request,timeout: int)
リクエストにミリ秒単位でタイムアウトを設定します。ebxプロパティファイルで定義されているデフォルト値よりも小さい必要があります。そうでない場合、無視されます。タイムアウトのデフォルト値は、コンテキスト(トリガーまたはワークフロー)によって異なります。
例:
uses core.http as client;
...
begin
  var request := client.createRequest('ebx-1');
  client.setTimeout(request,900);
  ...
end
パラメーター:
request: リクエスト
timeout: タイムアウト
使用可能な場所: