http.delete()
項目一覧
定義
HTTP DELETE を送信する Atlas App Services HTTP Service を使用して、指定された URL にリクエストを送信します。
使用法
例
注意
この例では、 "myHtp" というHTTP Serviceを構成していることを前提としています。 サービス ルールで検証されるこの HTTP アクションが必要ない場合は、 HTTP requests の送信( context.http
)モジュールを使用できます。
exports = function() { const http = context.services.get("myHttp"); return http .delete({ url: "https://www.example.com/user/8675309" }) .then(response => { // The response body is encoded as raw BSON.Binary. Parse it to JSON. const ejson_body = EJSON.parse(response.body.text()); return ejson_body; }) };
パラメーター
http.delete()
アクションは、次の形式の 1 つの引数を受け入れます。
{ "url": <string>, "headers": <document> }
フィールド | 説明 | |||
---|---|---|---|---|
Request URL url: <string> | 必須。 HTTP リクエストのターゲット URL。 あるいは、URL のコンポーネントをルート レベル フィールドとして指定することもできます。 「代替の URL 引数 」を参照してください。 | |||
Request Headers headers: <document> | 任意。 各フィールド名がHTTPヘッダーのタイプに対応し、各フィールド値がそのヘッダーの 1 つ以上のstring値の配列であるドキュメント。 例
| |||
Digest Authentication digestAuth: <boolean> | 任意。 true の場合、App Services は ダイジェスト認証 を使用してリクエストを認証します 。ダイジェスト認証を使用するには、 username とpassword (リクエスト ドキュメントのフィールドまたは URL の一部として)を指定する必要があります。 詳細については、「認証のリクエスト 」を参照してください。 | |||
Request Authentication URL authUrl: <string> | 任意。 HTTP リクエストの認可クッキーを返す URL。 |
代替の URL パラメーター
リクエストのターゲット URL の個々のコンポーネントを指定する必要がある場合は、 url
フィールドを省略し、コンポーネントをルートレベル フィールドとして指定します。 次の URL コンポーネント フィールドが利用できます。
<scheme>://<host>/<path>?<query>#<fragment>
{ "scheme": <string>, "host": <string>, "path": <string>, "query": <document>, "fragment": <string>, "username": <string>, "password": <string> }
名前 | 内容 | |||||||
---|---|---|---|---|---|---|---|---|
scheme | Optional. Default: "http" .Valid options: https , http URL スキーム。 例
| |||||||
host | Required. ターゲット リソースのホスト名。 例
| |||||||
path | Optional. ターゲット リソースのパス。 例
| |||||||
query | Optional. 各フィールドがURLクエリstringのパラメーターにマップされるドキュメント。 各フィールドの値は、パラメーターのすべての引数を含む string の配列です。 例
| |||||||
fragment | Optional. URL フラグメント。 URL のこの部分には、ハッシュ( 例
| |||||||
username | Optional. リクエストを認証するユーザー名。 通常、ユーザーはこの引数を | |||||||
password | Optional. リクエストを認証するためのパスワード。 パスワードは、 |
戻り値
http.delete()
アクションは、次の形式のドキュメントに解決される Promise を返します。
{ "status": <string>, "statusCode": <integer>, "contentLength": <integer>, "headers": <document>, "cookies": <array>, "body": <binary> }
フィールド | タイプ | 説明 | |||
---|---|---|---|---|---|
status | string | HTTP リクエスト ステータス メッセージ。 | |||
statusCode | integer | HTTP リクエスト ステータス コード。 | |||
contentLength | integer | レスポンス body で返されたバイト数。 | |||
headers | ドキュメント | 各フィールド名がHTTPヘッダーのタイプに対応し、各フィールド値がそのヘッダーの 1 つ以上のstring値の配列であるドキュメント。 例
| |||
cookies | ドキュメント | 各フィールド名がクッキー名に対応し、各フィールド値がそのクッキーのstring値であるドキュメント。 例
| |||
body | バイナリ | HTTP レスポンスのバイナリ エンコードされた本体。 |
認証を要求する
標準の HTTP 認証スキーム のいずれかを使用して、アウトバウンド HTTP リクエストを認証できます 。Atlas App Services は次の認証スキームをサポートしています。
基本認証
HTTP 基本認証 では、受信リクエストにリクエスト サービスの有効なユーザー名とパスワードが含まれている必要があります。ユーザー認証情報は、リクエスト ドキュメントの username
フィールドと フィールドで、password
url
string で直接、または 認証 済みで指定できます。 HTTP ヘッダー。
例
次の例は、基本認証を使用してHTTP Serviceリクエストを認証する 3 つの同等の方法を示しています。 例えではすべて、ユーザー名MyUser
とパスワードMypassw0rd
が使用されています。 これらのオブジェクトの 1 つを、指定された HTTP メソッドへの引数として渡します。
{ "scheme": "https", "username": "MyUser", "password": "Mypassw0rd", "domain": "www.example.com" }
{ "url": "https://MyUser:Mypassw0rd@www.example.com" }
{ "url": "https://www.example.com", "headers": { "Authorization": [ `Basic ${BSON.Binary.fromText("MyUser:Mypassw0rd").toBase64()}` ] } }
ダイジェスト認証
HTTP ダイジェスト認証 受信リクエストに ランダム に基づいて認可キーが含まれている必要があります サーバーから返された値。App Services は、有効なユーザー名とパスワードが指定されている場合、自動的にキーを作成し、リクエストを承認できます。
ダイジェスト認証を使用するリクエストを構成するには、digestAuth
フィールドを に設定し、リクエストtrue
username
password
ドキュメントの フィールドと フィールドにユーザー認証情報を直接指定するか、url
string で直接指定します。
例
次の例は、ダイジェスト認証を使用してHTTP Serviceリクエストを認証する 2 つの同等の方法を示しています。 例えではすべて、ユーザー名MyUser
とパスワードMypassw0rd
が使用されています。
{ "scheme": "https", "username": "MyUser", "password": "Mypassw0rd", "domain": "www.example.com", "digestAuth": true }
{ "url": "https://MyUser:Mypassw0rd@www.example.com", "digestAuth": true }
ルール テンプレート
ユーザーは特定のホストにリクエストのみを送信できる
{ "%%args.url.host": "example.com" }
リクエスト URL には特定のクエリ パラメータが含まれている必要があります
{ "%%args.url.query.someParameter": "importantValue" }
リクエストは特定のパスでなければなりません
{ "%%args.url.scheme: "https", "%%args.url.host" : "www.example.com", "%%args.url.path" : "/api/v1.0/messages" }