Rewriting Response Headers (SDK for Node.js)
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
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.