new CustomApi(apiname, method, subpath)
カスタムAPIクラスインスタンスを生成する
Parameters:
Name | Type | Description |
---|---|---|
apiname |
String | API名 |
method |
String | メソッド (GET/POST/PUT/DELETE のいずれか) |
subpath |
String | サブパス。省略時は null。 |
Example
var customApi = new Nebula.CustomApi("hello", "GET", "sayHello");
Methods
-
addHeader(name, value)
-
リクエストヘッダを追加する
Parameters:
Name Type Description name
ヘッダ名
value
ヘッダ値
Returns:
this
- Type
- CustomApi
-
addQueryParam(name, value)
-
クエリパラメータを追加する
Parameters:
Name Type Description name
string value
string Returns:
- Type
- CustomApi
-
clearHeaders()
-
リクエストヘッダをクリアする (Content-Type を除く)
Returns:
this
- Type
- CustomApi
-
execute(data, callbacks)
-
カスタムAPIの呼び出し
Parameters:
Name Type Description data
Object API呼び出しデータ
callbacks
Callbacks 応答コールバック
・メソッドが GET/DELETE の場合、データはクエリパラメータに追加格納される。 メソッドが POST/PUT の場合、データはボディに JSON 形式で格納される。 ・処理が成功した場合、success の呼び出しにて通知する。 success の書式は以下の通り。 success(response) response : サーバ応答データ。テキストデータの場合は文字列(JSONの場合でも)。 ファイルの場合は Blob または Buffer オブジェクト。 レスポンスヘッダ受信設定をしている場合は、オブジェクトが返却され、 body にサーバ応答データ、headers にヘッダが格納される。
Returns:
callbacksを指定しなかった場合、Promiseオブジェクトを返す。callback指定時は返り値なし(undefined)。
- Type
- Promise
-
executeRaw(data)
-
カスタムAPIの呼び出し(raw message版)。Node.js専用。
HTTP/1.1において、処理が成功した場合、Promise には http.IncomingMessage が返される。
http.IncomingMessage に対するイベントハンドラを自身で設定、適切にハンドリングすること。
データ読み込み時は http.IncomingMessage よりレスポンスのステータスを取得、判定を行うこと。
リクエスト送信が失敗した場合、Promise には error が返される。
HTTP/2において、処理が成功した場合、Promise には http2.ClientHttp2Stream が返される。
ClientHttp2Stream に対するイベントハンドラを自身で設定、適切にハンドリングすること。
HTTP/2のステータスコードを取得するには、'response'イベントの':status'を参照する。
Parameters:
Name Type Description data
Object API呼び出しデータ
- Since:
-
- 7.5.0
Returns:
Promise
- Type
- Promise
Example
var customApi = ....; // for HTTP/1.1 // pipe()を使用する場合 var writable = fs.createWriteStream(....); customApi.executeRaw() .then((message) => { message.pipe(writable); }); // 'data'を実装する場合 customApi.executeRaw() .then((message) => { message.on('data', () => {....}); message.on('end', () => {....}); message.on('error', () => {....}); message.on('close', () => {....}); }); // for HTTP/2 var statusCode; customApi.executeRaw() .then((message) => { message.on('response', (headers, flags) => { statusCode = headers[':status'] }); message.on('data', () => {....}); message.on('end', () => {....}); message.on('error', () => {....}); message.on('close', () => {....}); });
-
setBinaryResponse()
-
Returns:
this
- Type
- CustomApi
-
setContentType(contentType)
-
リクエスト Content-Type を指定する
Parameters:
Name Type Description contentType
Content-Type
Returns:
this
- Type
- CustomApi
-
setReceiveResponseHeaders(receive)
-
レスポンスヘッダ受信設定を行う(Node.jsのみ)。
true に設定すると、execute 成功時の応答は {body: ..., headers: {...}, status: statusCode} 形式となる。
ブラウザ(XHR)の場合は、headers は文字列(全ヘッダ連結したもの)、 Node.js の場合は headers はヘッダ名をキーとした Object となる。
Parameters:
Name Type Description receive
true の場合はレスポンスヘッダを受信する