Esta página aún no está disponible en su idioma local. Estamos trabajando arduamente para agregar más versiones de idiomas. Gracias por tu apoyo.

On this page

Show all

Rewriting Response Headers (SDK for Node.js)

Updated on 2024-11-13 GMT+08:00
NOTICE:

If you have any questions during development, post them on the Issues page of GitHub.

When downloading an object, you can rewrite some HTTP/HTTPS response headers. The following table lists rewritable response headers.

Parameter

Description

ResponseContentType

Rewrites Content-Type in HTTP/HTTPS responses.

ResponseContentLanguage

Rewrites Content-Language in HTTP/HTTPS responses.

ResponseExpires

Rewrites Expires in HTTP/HTTPS responses.

ResponseCacheControl

Rewrites Cache-Control in HTTP/HTTPS responses.

ResponseContentDisposition

Rewrites Content-Disposition in HTTP/HTTPS responses.

ResponseContentEncoding

Rewrites Content-Encoding in HTTP/HTTPS responses.

Code Examples

This code example rewrites response headers.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Import the OBS library.
// Use npm to install the client.
const ObsClient = require("esdk-obs-nodejs");
// Use the source code to install the client.
// var ObsClient = require('./lib/obs');
// Create an instance of ObsClient.
const obsClient = new ObsClient({
  // Obtain an AK/SK pair using environment variables or import an AK/SK pair in other ways. Using hard coding may result in leakage.
  // Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html.
  access_key_id: process.env.ACCESS_KEY_ID,
  secret_access_key: process.env.SECRET_ACCESS_KEY,
  // (Optional) If you use a temporary AK/SK pair and a security token to access OBS, you are advised not to use hard coding, which may result in information leakage. You can obtain an AK/SK pair using environment variables or import an AK/SK pair in other ways.
  // security_token: process.env.SECURITY_TOKEN,
  // Enter the endpoint corresponding to the region where the bucket is located. EU-Dublin is used here as an example. Replace it with the one currently in use.
  server: "https://obs.eu-west-101.myhuaweicloud.eu"
});

async function getObject() {
  try {
    const params = {
      // Specify the bucket name.
      Bucket: "examplebucket",
      // Specify the object (example/objectname in this example).
      Key: 'example/objectname',
      // Rewrite a response header (Content-Type in this example).
      ResponseContentType : 'image/jpeg'
    };
    
    // Rewrite the response header.
    const result = await obsClient.getObject(params);
    if (result.CommonMsg.Status <= 300) {
      console.log("Get object(%s) under the bucket(%s) successful!", params.Key, params.Bucket);
      console.log("RequestId: %s", result.CommonMsg.RequestId);
      // Obtain the response header that was rewritten.
      console.log("ContentType:%s", result.InterfaceResult.ContentType)
      return;
    };
    console.log("An ObsError was found, which means your request sent to OBS was rejected with an error response.");
    console.log("Status: %d", result.CommonMsg.Status);
    console.log("Code: %s", result.CommonMsg.Code);
    console.log("Message: %s", result.CommonMsg.Message);
    console.log("RequestId: %s", result.CommonMsg.RequestId);
  } catch (error) {
    console.log("An Exception was found, which means the client encountered an internal problem when attempting to communicate with OBS, for example, the client was unable to access the network.");
    console.log(error);
  };
};

getObject();
Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback