Class: CustomApi

CustomApi

カスタムAPIクラス


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 の場合はレスポンスヘッダを受信する