Skip to content

Commit

Permalink
chore: tweaking test cases (#1115)
Browse files Browse the repository at this point in the history
fix: fix user input header MD5 value being overwritten problem (#1100)

* fix: 修复header MD5值被覆盖问题

* fix: fix user input header MD5 value being overwritten problem

Co-authored-by: Undefined <peizerao@gmail.com>

fix: upgrade address from 1.1.2 to 1.2.0 (#1114)

Snyk has created this PR to upgrade address from 1.1.2 to 1.2.0.

See this package in npm:
https://www.npmjs.com/package/address

See this project in Snyk:
https://app.snyk.io/org/peterrao/project/35a041fe-176f-4d94-aa1b-d65c35239c28?utm_source=github&utm_medium=referral&page=upgrade-pr

Co-authored-by: snyk-bot <snyk-bot@snyk.io>

chore: change js to ts
  • Loading branch information
taotao7 committed Jul 4, 2022
1 parent 2bbc3d9 commit b75eb82
Show file tree
Hide file tree
Showing 19 changed files with 446 additions and 156 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/schedule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: 'Schdule Delete'

on:
schedule:
- cron: '0 0 * * 1,3,5'
- cron: '0 0 * * 1,2,3,4,5,6,0'

jobs:
cleanAllBucket:
Expand Down
28 changes: 13 additions & 15 deletions lib/common/bucket/getBucketStat.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
'use strict';

Object.defineProperty(exports, '__esModule', { value: true });
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBucketStat = void 0;
const checkBucketName_1 = require('../utils/checkBucketName');

const checkBucketName_1 = require("../utils/checkBucketName");
async function getBucketStat(name, options) {
name = name || this.options.bucket;
checkBucketName_1.checkBucketName(name);
const params = this._bucketRequestParams('GET', name, 'stat', options);
params.successStatuses = [200];
params.xmlResponse = true;
const result = await this.request(params);
return {
res: result.res,
stat: result.data
};
name = name || this.options.bucket;
checkBucketName_1.checkBucketName(name);
const params = this._bucketRequestParams('GET', name, 'stat', options);
params.successStatuses = [200];
params.xmlResponse = true;
const result = await this.request(params);
return {
res: result.res,
stat: result.data
};
}
exports.getBucketStat = getBucketStat;
2 changes: 2 additions & 0 deletions lib/common/utils/checkCrc64.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export declare const checkCrc64: (content: any, oss_crc64: any) => boolean;
export declare const checkCrc64Stream: (stream: any, callback: any) => void;
19 changes: 10 additions & 9 deletions lib/common/utils/checkCrc64.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
const { crc64, crc64File } = require('../../crc64');

module.exports = {
checkCrc64: (content, oss_crc64) => {
if (crc64(content) === oss_crc64) return true;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkCrc64Stream = exports.checkCrc64 = void 0;
const crc64_1 = require("../../crc64");
exports.checkCrc64 = (content, oss_crc64) => {
if (crc64_1.crc64(content) === oss_crc64)
return true;
return false;
},
checkCrc64Stream: (stream, callback) => {
crc64File(stream, callback);
}
};
exports.checkCrc64Stream = (stream, callback) => {
crc64_1.crc64File(stream, callback);
};
9 changes: 9 additions & 0 deletions lib/common/utils/checkCrc64.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { crc64, crc64File } from '../../crc64';

export const checkCrc64 = (content, oss_crc64) => {
if (crc64(content) === oss_crc64) return true;
return false;
};
export const checkCrc64Stream = (stream, callback) => {
crc64File(stream, callback);
};
12 changes: 7 additions & 5 deletions lib/common/utils/createRequest.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ function createRequest(params) {
date = +new Date() + this.options.amendTimeSkewed;
}
const headers = {
'x-oss-date': dateFormat(date, 'UTC:ddd, dd mmm yyyy HH:MM:ss \'GMT\''),
'x-oss-date': dateFormat(date, "UTC:ddd, dd mmm yyyy HH:MM:ss 'GMT'")
};
if (typeof window !== 'undefined') {
headers['x-oss-user-agent'] = this.userAgent;
Expand Down Expand Up @@ -52,10 +52,12 @@ function createRequest(params) {
}
if (params.content) {
if (!params.disabledMD5) {
headers['Content-MD5'] = crypto
.createHash('md5')
.update(Buffer.from(params.content, 'utf8'))
.digest('base64');
if (!params.headers || !params.headers['Content-MD5']) {
headers['Content-MD5'] = crypto.createHash('md5').update(Buffer.from(params.content, 'utf8')).digest('base64');
}
else {
headers['Content-MD5'] = params.headers['Content-MD5'];
}
}
if (!headers['Content-Length']) {
headers['Content-Length'] = params.content.length;
Expand Down
27 changes: 17 additions & 10 deletions lib/common/utils/createRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ const { setRegion } = require('./setRegion');
const { getReqUrl } = require('../client/getReqUrl');

interface Headers {
[propName: string]: any
'x-oss-date': string,
'x-oss-user-agent'?: string,
[propName: string]: any;
'x-oss-date': string;
'x-oss-user-agent'?: string;
}

interface ReqParams {
[propName: string]: any
[propName: string]: any;
}

function getHeader(headers: Headers, name: string) {
Expand All @@ -34,7 +34,7 @@ export function createRequest(this: any, params) {
date = +new Date() + this.options.amendTimeSkewed;
}
const headers: Headers = {
'x-oss-date': dateFormat(date, 'UTC:ddd, dd mmm yyyy HH:MM:ss \'GMT\''),
'x-oss-date': dateFormat(date, "UTC:ddd, dd mmm yyyy HH:MM:ss 'GMT'")
};

if (typeof window !== 'undefined') {
Expand Down Expand Up @@ -69,10 +69,11 @@ export function createRequest(this: any, params) {

if (params.content) {
if (!params.disabledMD5) {
headers['Content-MD5'] = crypto
.createHash('md5')
.update(Buffer.from(params.content, 'utf8'))
.digest('base64');
if (!params.headers || !params.headers['Content-MD5']) {
headers['Content-MD5'] = crypto.createHash('md5').update(Buffer.from(params.content, 'utf8')).digest('base64');
} else {
headers['Content-MD5'] = params.headers['Content-MD5'];
}
}
if (!headers['Content-Length']) {
headers['Content-Length'] = params.content.length;
Expand All @@ -87,7 +88,13 @@ export function createRequest(this: any, params) {
}

const authResource = this._getResource(params);
headers.authorization = this.authorization(params.method, authResource, params.subres, headers, this.options.headerEncoding);
headers.authorization = this.authorization(
params.method,
authResource,
params.subres,
headers,
this.options.headerEncoding
);

// const url = this._getReqUrl(params);
if (isIP(this.options.endpoint.hostname)) {
Expand Down
15 changes: 7 additions & 8 deletions lib/common/utils/omit.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
'use strict';

Object.defineProperty(exports, '__esModule', { value: true });
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.omit = void 0;
function omit(originalObject, keysToOmit) {
const cloneObject = Object.assign({}, originalObject);
for (const path of keysToOmit) {
delete cloneObject[path];
}
return cloneObject;
const cloneObject = Object.assign({}, originalObject);
for (const path of keysToOmit) {
delete cloneObject[path];
}
return cloneObject;
}
exports.omit = omit;
18 changes: 9 additions & 9 deletions lib/crc64/dist/x64-darwin/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ CFLAGS.host ?= $(CPPFLAGS_host) $(CFLAGS_host)
CXX.host ?= g++
CXXFLAGS.host ?= $(CPPFLAGS_host) $(CXXFLAGS_host)
LINK.host ?= $(CXX.host)
LDFLAGS.host ?=
LDFLAGS.host ?= $(LDFLAGS_host)
AR.host ?= ar

# Define a dir function that can handle spaces.
Expand Down Expand Up @@ -278,10 +278,10 @@ $(obj).$(TOOLSET)/%.o: $(srcdir)/%.m FORCE_DO_CMD
@$(call do_cmd,objc,1)
$(obj).$(TOOLSET)/%.o: $(srcdir)/%.mm FORCE_DO_CMD
@$(call do_cmd,objcxx,1)
$(obj).$(TOOLSET)/%.o: $(srcdir)/%.S FORCE_DO_CMD
@$(call do_cmd,cc,1)
$(obj).$(TOOLSET)/%.o: $(srcdir)/%.s FORCE_DO_CMD
@$(call do_cmd,cc,1)
$(obj).$(TOOLSET)/%.o: $(srcdir)/%.S FORCE_DO_CMD
@$(call do_cmd,cc,1)

# Try building from generated source, too.
$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.c FORCE_DO_CMD
Expand All @@ -296,10 +296,10 @@ $(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.m FORCE_DO_CMD
@$(call do_cmd,objc,1)
$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.mm FORCE_DO_CMD
@$(call do_cmd,objcxx,1)
$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.S FORCE_DO_CMD
@$(call do_cmd,cc,1)
$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.s FORCE_DO_CMD
@$(call do_cmd,cc,1)
$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.S FORCE_DO_CMD
@$(call do_cmd,cc,1)

$(obj).$(TOOLSET)/%.o: $(obj)/%.c FORCE_DO_CMD
@$(call do_cmd,cc,1)
Expand All @@ -313,10 +313,10 @@ $(obj).$(TOOLSET)/%.o: $(obj)/%.m FORCE_DO_CMD
@$(call do_cmd,objc,1)
$(obj).$(TOOLSET)/%.o: $(obj)/%.mm FORCE_DO_CMD
@$(call do_cmd,objcxx,1)
$(obj).$(TOOLSET)/%.o: $(obj)/%.S FORCE_DO_CMD
@$(call do_cmd,cc,1)
$(obj).$(TOOLSET)/%.o: $(obj)/%.s FORCE_DO_CMD
@$(call do_cmd,cc,1)
$(obj).$(TOOLSET)/%.o: $(obj)/%.S FORCE_DO_CMD
@$(call do_cmd,cc,1)


ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
Expand All @@ -326,8 +326,8 @@ ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
endif

quiet_cmd_regen_makefile = ACTION Regenerating $@
cmd_regen_makefile = cd $(srcdir); /usr/local/Cellar/node/16.3.0/libexec/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "--toplevel-dir=." -I/Users/gang/test/node_cpp_addon_crc64/build/config.gypi -I/usr/local/Cellar/node/16.3.0/libexec/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/common.gypi "--depth=." "-Goutput_dir=." "--generator-output=build" "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/gang/Library/Caches/node-gyp/16.3.0" "-Dnode_gyp_dir=/usr/local/Cellar/node/16.3.0/libexec/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/Users/gang/Library/Caches/node-gyp/16.3.0/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/gang/test/node_cpp_addon_crc64" "-Dnode_engine=v8" binding.gyp
Makefile: $(srcdir)/../../Library/Caches/node-gyp/16.3.0/include/node/common.gypi $(srcdir)/build/config.gypi $(srcdir)/binding.gyp $(srcdir)/../../../../usr/local/Cellar/node/16.3.0/libexec/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
cmd_regen_makefile = cd $(srcdir); /Users/xutao/.nvm/versions/node/v16.15.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/xutao/Library/Caches/node-gyp/16.15.1" "-Dnode_gyp_dir=/Users/xutao/.nvm/versions/node/v16.15.1/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/Users/xutao/Library/Caches/node-gyp/16.15.1/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/xutao/ali-oss/lib/crc64" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/Users/xutao/ali-oss/lib/crc64/build/config.gypi -I/Users/xutao/.nvm/versions/node/v16.15.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/common.gypi "--toplevel-dir=." binding.gyp
Makefile: $(srcdir)/../../../Library/Caches/node-gyp/16.15.1/include/node/common.gypi $(srcdir)/build/config.gypi $(srcdir)/../../../.nvm/versions/node/v16.15.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/binding.gyp
$(call do_cmd,regen_makefile)

# "all" is a concatenation of the "all" targets from all the included
Expand Down
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
cmd_Release/obj.target/crc64/crc64.o := c++ -o Release/obj.target/crc64/crc64.o ../crc64.cpp '-DNODE_GYP_MODULE_NAME=crc64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DBUILDING_NODE_EXTENSION' -I/Users/gang/Library/Caches/node-gyp/16.3.0/include/node -I/Users/gang/Library/Caches/node-gyp/16.3.0/src -I/Users/gang/Library/Caches/node-gyp/16.3.0/deps/openssl/config -I/Users/gang/Library/Caches/node-gyp/16.3.0/deps/openssl/openssl/include -I/Users/gang/Library/Caches/node-gyp/16.3.0/deps/uv/include -I/Users/gang/Library/Caches/node-gyp/16.3.0/deps/zlib -I/Users/gang/Library/Caches/node-gyp/16.3.0/deps/v8/include -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++14 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/crc64/crc64.o.d.raw -c
cmd_Release/obj.target/crc64/crc64.o := c++ -o Release/obj.target/crc64/crc64.o ../crc64.cpp '-DNODE_GYP_MODULE_NAME=crc64' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' '-DV8_DEPRECATION_WARNINGS=1' '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D_DARWIN_USE_64_BIT_INODE=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DBUILDING_NODE_EXTENSION' -I/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node -I/Users/xutao/Library/Caches/node-gyp/16.15.1/src -I/Users/xutao/Library/Caches/node-gyp/16.15.1/deps/openssl/config -I/Users/xutao/Library/Caches/node-gyp/16.15.1/deps/openssl/openssl/include -I/Users/xutao/Library/Caches/node-gyp/16.15.1/deps/uv/include -I/Users/xutao/Library/Caches/node-gyp/16.15.1/deps/zlib -I/Users/xutao/Library/Caches/node-gyp/16.15.1/deps/v8/include -O3 -gdwarf-2 -mmacosx-version-min=10.13 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++14 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/crc64/crc64.o.d.raw -c
Release/obj.target/crc64/crc64.o: ../crc64.cpp \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/cppgc/common.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8config.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8-internal.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8-version.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8-platform.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node_version.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node_api.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/js_native_api.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/js_native_api_types.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node_api_types.h \
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node_buffer.h
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/cppgc/common.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8config.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8-internal.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8-version.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8-platform.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node_version.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node_api.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/js_native_api.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/js_native_api_types.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node_api_types.h \
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node_buffer.h
../crc64.cpp:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/cppgc/common.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8config.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8-internal.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8-version.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/v8-platform.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node_version.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node_api.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/js_native_api.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/js_native_api_types.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node_api_types.h:
/Users/gang/Library/Caches/node-gyp/16.3.0/include/node/node_buffer.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/cppgc/common.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8config.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8-internal.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8-version.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/v8-platform.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node_version.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node_api.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/js_native_api.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/js_native_api_types.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node_api_types.h:
/Users/xutao/Library/Caches/node-gyp/16.15.1/include/node/node_buffer.h:
Binary file modified lib/crc64/dist/x64-darwin/Release/crc64.node
Binary file not shown.
Binary file modified lib/crc64/dist/x64-darwin/Release/obj.target/crc64/crc64.o
Binary file not shown.
Loading

0 comments on commit b75eb82

Please sign in to comment.