Navigation

http.delete()

Definition

http.delete()

Sends an HTTP DELETE request to the specified URL.

Usage

Example

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(resp.body.text());
      return ejson_body;
    })
};
import { Stitch } from 'mongodb-stitch-browser-sdk';
import {
  HttpServiceClient,
  HttpRequest,
  HttpMethod
} from 'mongodb-stitch-browser-services-http';

// 1. Instantiate an HTTP Service Client
const app = Stitch.defaultAppClient;
const http = app.getServiceClient(HttpServiceClient.factory, "myHttp");

// 2. Build a new HttpRequest
const request = new HttpRequest.Builder()
  .withMethod(HttpMethod.DELETE)
  .withUrl("https://www.example.com/user/8675309")
  .build()

// 3. Execute the built request
http.execute(request)
  .then(console.log)
  .catch(console.error)
// 1. Instantiate an HTTP Service Client
StitchAppClient client = Stitch.getDefaultAppClient();
StitchServiceClient http = client.getServiceClient(HttpServiceClient.factory, "myHttp");

// 2. Build a new HttpRequest
HttpRequest request = new HttpRequest.Builder()
  .withMethod(HttpMethod.DELETE)
  .withUrl("https://www.example.com/user/8675309")
  .build();

// 3. Execute the built request
http.execute(request)
  .addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull final Task<Void> task) {
      if (task.isSuccessful()) { Log.d("stitch", "Successfully sent DELETE request!"); } else { Log.e("stitch", "Error sending DELETE request:", task.getException()); }
    }
  });
// 1. Instantiate an HTTP Service Client
let app = Stitch.defaultAppClient!
let http = app.serviceClient(
  fromFactory: httpServiceClientFactory,
  withName: "myHttp"
)

// 2. Build a new HTTPRequest
let request: HTTPRequest = HTTPRequestBuilder()
  .with(method: HTTPMethod.delete)
  .with(url: "https://www.example.com/user/8675309")
  .build()

// 3. Execute the built request
http.execute(request) { result in
  switch result {
  case .success:
    print("Successfully sent DELETE request!")
  case .failure(let error):
    print("Error sending DELETE request: \(error)")
  }
}

Parameters

The http.delete() action accepts one argument of the following form:

{
    "url": <string>,
    "headers": <document>
}
Field Description

Request URL

url: <string>
Required. The target URL for the HTTP request. Alternatively, you can specify the components of the URL as root-level fields. See Alternative URL Arguments.

Request Headers

headers: <document>

Optional. A document where each field name corresponds to a type of HTTP header and each field value is an array of one or more string values for that header.

Example

{
  "Content-Type": [ "application/json" ]
}

You can configure HTTP DELETE request parameters with the following builder methods:

Builder Method Description

HTTP Method

.withMethod(<HttpMethod>)
.withMethod(<HttpMethod>)
.with(method: <HTTPMethod>)

Required. The HTTP method of the request. For DELETE requests, use the following:

.withMethod(HttpMethod.DELETE)
.withMethod(HttpMethod.DELETE)
.with(method: HTTPMethod.delete)

Request URL

.withUrl(<string>)
.withUrl(<string>)
.with(url: <string>)
Required. The target URL for the HTTP request.

Request Headers

.withHeaders(<document>)
.withHeaders(<document>)
.with(headers: <document>)

Optional. A document where each field name corresponds to a type of HTTP header and each field value is an array of one or more string values for that header.

Example

{
  "Content-Type": [ "application/json" ]
}

You can configure HTTP DELETE request parameters with the following builder methods:

Builder Method Description

HTTP Method

.withMethod(<HttpMethod>)
.withMethod(<HttpMethod>)
.with(method: <HTTPMethod>)

Required. The HTTP method of the request. For DELETE requests, use the following:

.withMethod(HttpMethod.DELETE)
.withMethod(HttpMethod.DELETE)
.with(method: HTTPMethod.delete)

Request URL

.withUrl(<string>)
.withUrl(<string>)
.with(url: <string>)
Required. The target URL for the HTTP request.

Request Headers

.withHeaders(<document>)
.withHeaders(<document>)
.with(headers: <document>)

Optional. A document where each field name corresponds to a type of HTTP header and each field value is an array of one or more string values for that header.

Example

{
  "Content-Type": [ "application/json" ]
}

You can configure HTTP DELETE request parameters with the following builder methods:

Builder Method Description

HTTP Method

.withMethod(<HttpMethod>)
.withMethod(<HttpMethod>)
.with(method: <HTTPMethod>)

Required. The HTTP method of the request. For DELETE requests, use the following:

.withMethod(HttpMethod.DELETE)
.withMethod(HttpMethod.DELETE)
.with(method: HTTPMethod.delete)

Request URL

.withUrl(<string>)
.withUrl(<string>)
.with(url: <string>)
Required. The target URL for the HTTP request.

Request Headers

.withHeaders(<document>)
.withHeaders(<document>)
.with(headers: <document>)

Optional. A document where each field name corresponds to a type of HTTP header and each field value is an array of one or more string values for that header.

Example

{
  "Content-Type": [ "application/json" ]
}

Alternative URL Parameters

If you need to specify the individual components of the request’s target URL, omit the url field and specify the components as root-level fields. The following URL component fields are available:

<scheme>://<host>/<path>?<query>#<fragment>
{
   "scheme": <string>,
   "host": <string>,
   "path": <string>,
   "query": <document>,
   "fragment": <string>,
   "username": <string>,
   "password": <string>
}
Name Contents
scheme
Optional. Default: "http".
Valid options: https, http

The URL scheme.

Example

// https://www.example.com/
{ scheme: "https" }
host
Required.

The hostname of the target resource.

Example

// https://www.example.com/
{ host: "www.example.com" }
path
Optional.

The path of the target resource.

Example

// https://www.example.com/api/v1/users
{ path: "/api/v1/users" }
query
Optional.

A document where each field maps to a parameter in the URL query string. The value of each field is an array of strings that contains all arguments for the parameter.

Example

// https://www.example.com/?id=8675309&color=red&color=blue
{
  query: {
    "id": ["8675309"],
    "color": ["red", "blue"]
  }
}
fragment
Optional.

The URL fragment. This portion of the URL includes everything after the hash (#) symbol.

Example

// https://www.example.com/?id=8675309#someFragment
{ fragment: "someFragment" }
username
Optional.

A basic authentication username used in conjunction with the password argument.

password
Optional.

A basic authentication password used in conjunction with the username argument.

Return Value

The http.delete() action returns a promise that resolves to a document with the following form:

{
   "status": <string>,
   "statusCode": <integer>,
   "contentLength": <integer>,
   "headers": <document>,
   "cookies": <array>,
   "body": <binary>
}
Field Type Description
status string The HTTP Request status message.
statusCode integer The HTTP Request status code.
contentLength integer The number of bytes returned in the response body.
headers document

A document where each field name corresponds to a type of HTTP header and each field value is an array of one or more string values for that header.

Example

{
  "Content-Type": [ "application/json" ]
}
cookies document

A document where each field name corresponds to a cookie name and each field value is that cookie’s string value.

Example

{
  "favoriteTeam": "Chicago Cubs"
}
body binary The binary-encoded body of the HTTP response.

Rule Templates

Users Can Only Send Requests to a Specific Host

{
  "%%args.url.host": "example.com"
}

Requests URLs Must Include a Specific Query Parameter

{
  "%%args.url.query.someParameter": "importantValue"
}

Requests Must Be To A Specific Path

{
  "%%args.url.scheme: "https",
  "%%args.url.host" : "www.example.com",
  "%%args.url.path" : "/api/v1.0/messages"
}
←   http.patch() http.head()  →