@vtecx/vtecxnext 2.0.4 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -692,9 +692,10 @@ export declare class VtecxNext {
692
692
  * upload content
693
693
  * @param uri key
694
694
  * @param bysize true if registering with specified size
695
+ * @param filename attachment file name
695
696
  * @return message
696
697
  */
697
- putcontent: (uri: string, bysize?: boolean) => Promise<any>;
698
+ putcontent: (uri: string, bysize?: boolean, filename?: string) => Promise<any>;
698
699
  /**
699
700
  * upload content registering with specified size
700
701
  * @param uri key
@@ -705,9 +706,10 @@ export declare class VtecxNext {
705
706
  * upload content and numbering
706
707
  * @param parenturi parent key
707
708
  * @param extension extension
709
+ * @param filename attachment file name
708
710
  * @return numbered key
709
711
  */
710
- postcontent: (parenturi: string, extension?: string) => Promise<any>;
712
+ postcontent: (parenturi: string, extension?: string, filename?: string) => Promise<any>;
711
713
  /**
712
714
  * delete content
713
715
  * @param uri key
@@ -724,22 +726,23 @@ export declare class VtecxNext {
724
726
  /**
725
727
  * get signed url for upload content
726
728
  * @param uri key
729
+ * @param filename attachment file name
727
730
  * @return message
728
731
  */
729
- putcontentSignedUrl: (uri: string) => Promise<any>;
732
+ getSignedUrlToPutContent: (uri: string, filename?: string) => Promise<any>;
730
733
  /**
731
734
  * get signed url for upload content and numbering
732
735
  * @param parenturi parent key
733
736
  * @param extension extension
734
737
  * @return numbered key
735
738
  */
736
- postcontentSignedUrl: (parenturi: string, extension?: string) => Promise<any>;
739
+ getSignedUrlToPostContent: (parenturi: string, extension?: string, filename?: string) => Promise<any>;
737
740
  /**
738
741
  * get signed url for download content
739
742
  * @param uri key
740
743
  * @return message
741
744
  */
742
- getcontentSignedUrl: (uri: string) => Promise<any>;
745
+ getSignedUrlToGetContent: (uri: string) => Promise<any>;
743
746
  /**
744
747
  * OAuth authorization request to LINE.
745
748
  * If the OAuth request is successful, this module retains the redirect information.
package/dist/vtecxnext.js CHANGED
@@ -174,6 +174,7 @@ class VtecxNext {
174
174
  resData = '';
175
175
  }
176
176
  }
177
+ //console.log(`[vtecxnext response] resHeaders = ${JSON.stringify(this.resHeaders)}`)
177
178
  return new Response(resData, {
178
179
  status: this.resStatus,
179
180
  headers: this.resHeaders
@@ -2746,9 +2747,10 @@ class VtecxNext {
2746
2747
  * upload content
2747
2748
  * @param uri key
2748
2749
  * @param bysize true if registering with specified size
2750
+ * @param filename attachment file name
2749
2751
  * @return message
2750
2752
  */
2751
- putcontent = async (uri, bysize) => {
2753
+ putcontent = async (uri, bysize, filename) => {
2752
2754
  //console.log(`[vtecxnext putcontent] start. uri=${uri} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2753
2755
  // キー入力値チェック
2754
2756
  checkUri(uri);
@@ -2757,6 +2759,9 @@ class VtecxNext {
2757
2759
  const url = `${SERVLETPATH_PROVIDER}${uri}?_content${bysize ? '&_bysize' : ''}`;
2758
2760
  //console.log(`[vtecxnext putcontent] request. url=${url}`)
2759
2761
  const headers = { 'Content-Type': this.req.headers.get('content-type') };
2762
+ if (filename) {
2763
+ headers['Content-Disposition'] = `attachment; filename="${encodeURIComponent(filename)}"`;
2764
+ }
2760
2765
  //const buf = await buffer(this.req)
2761
2766
  const buf = await this.req.arrayBuffer();
2762
2767
  let response;
@@ -2785,10 +2790,11 @@ class VtecxNext {
2785
2790
  * upload content and numbering
2786
2791
  * @param parenturi parent key
2787
2792
  * @param extension extension
2793
+ * @param filename attachment file name
2788
2794
  * @return numbered key
2789
2795
  */
2790
- postcontent = async (parenturi, extension) => {
2791
- //console.log(`[vtecxnext postcontent] start. parenturi=${parenturi} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2796
+ postcontent = async (parenturi, extension, filename) => {
2797
+ //console.log(`[vtecxnext postcontent] start. parenturi=${parenturi} extension=${extension} filename=${filename}`)
2792
2798
  // キー入力値チェック
2793
2799
  checkUri(parenturi);
2794
2800
  // vte.cxへリクエスト
@@ -2796,6 +2802,9 @@ class VtecxNext {
2796
2802
  const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content${extension ? '&_ext=' + extension : ''}`;
2797
2803
  //console.log(`[vtecxnext postcontent] request. url=${url}`)
2798
2804
  const headers = { 'Content-Type': this.req.headers.get('content-type') };
2805
+ if (filename) {
2806
+ headers['Content-Disposition'] = `attachment; filename="${encodeURIComponent(filename)}"`;
2807
+ }
2799
2808
  //const buf = await buffer(this.req)
2800
2809
  const buf = await this.req.arrayBuffer();
2801
2810
  let response;
@@ -2882,17 +2891,21 @@ class VtecxNext {
2882
2891
  /**
2883
2892
  * get signed url for upload content
2884
2893
  * @param uri key
2894
+ * @param filename attachment file name
2885
2895
  * @return message
2886
2896
  */
2887
- putcontentSignedUrl = async (uri) => {
2888
- //console.log(`[vtecxnext putcontentSignedUrl] start. uri=${uri} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2897
+ getSignedUrlToPutContent = async (uri, filename) => {
2898
+ //console.log(`[vtecxnext getSignedUrlToPutContent] start. uri=${uri} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2889
2899
  // キー入力値チェック
2890
2900
  checkUri(uri);
2891
2901
  // vte.cxへリクエスト
2892
2902
  const method = 'PUT';
2893
2903
  const url = `${SERVLETPATH_PROVIDER}${uri}?_content&_signedurl`;
2894
- //console.log(`[vtecxnext putcontentSignedUrl] request. url=${url}`)
2904
+ //console.log(`[vtecxnext getSignedUrlToPutContent] request. url=${url}`)
2895
2905
  const headers = { 'Content-Type': this.req.headers.get('content-type') };
2906
+ if (filename) {
2907
+ headers['Content-Disposition'] = `attachment; filename="${encodeURIComponent(filename)}"`;
2908
+ }
2896
2909
  let response;
2897
2910
  try {
2898
2911
  response = await this.requestVtecx(method, url, undefined, headers);
@@ -2900,7 +2913,7 @@ class VtecxNext {
2900
2913
  catch (e) {
2901
2914
  throw newFetchError(e, true);
2902
2915
  }
2903
- //console.log(`[vtecxnext putcontentSignedUrl] response. status=${response.status}`)
2916
+ //console.log(`[vtecxnext getSignedUrlToPutContent] response. status=${response.status}`)
2904
2917
  // vte.cxからのset-cookieを転記
2905
2918
  this.setCookie(response);
2906
2919
  // レスポンスのエラーチェック
@@ -2913,15 +2926,18 @@ class VtecxNext {
2913
2926
  * @param extension extension
2914
2927
  * @return numbered key
2915
2928
  */
2916
- postcontentSignedUrl = async (parenturi, extension) => {
2917
- //console.log(`[vtecxnext postcontentSignedUrl] start. parenturi=${parenturi} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2929
+ getSignedUrlToPostContent = async (parenturi, extension, filename) => {
2930
+ //console.log(`[vtecxnext getSignedUrlToPostContent] start. parenturi=${parenturi} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2918
2931
  // キー入力値チェック
2919
2932
  checkUri(parenturi);
2920
2933
  // vte.cxへリクエスト
2921
2934
  const method = 'POST';
2922
2935
  const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content&_signedurl${extension ? '&_ext=' + extension : ''}`;
2923
- //console.log(`[vtecxnext postcontentSignedUrl] request. url=${url}`)
2936
+ //console.log(`[vtecxnext getSignedUrlToPostContent] request. url=${url}`)
2924
2937
  const headers = { 'Content-Type': this.req.headers.get('content-type') };
2938
+ if (filename) {
2939
+ headers['Content-Disposition'] = `attachment; filename="${encodeURIComponent(filename)}"`;
2940
+ }
2925
2941
  let response;
2926
2942
  try {
2927
2943
  response = await this.requestVtecx(method, url, undefined, headers);
@@ -2929,7 +2945,7 @@ class VtecxNext {
2929
2945
  catch (e) {
2930
2946
  throw newFetchError(e, true);
2931
2947
  }
2932
- //console.log(`[vtecxnext postcontentSignedUrl] response. status=${response.status}`)
2948
+ //console.log(`[vtecxnext getSignedUrlToPostContent] response. status=${response.status}`)
2933
2949
  // vte.cxからのset-cookieを転記
2934
2950
  this.setCookie(response);
2935
2951
  // レスポンスのエラーチェック
@@ -2941,8 +2957,8 @@ class VtecxNext {
2941
2957
  * @param uri key
2942
2958
  * @return message
2943
2959
  */
2944
- getcontentSignedUrl = async (uri) => {
2945
- //console.log(`[vtecxnext getcontentSignedUrl] start. uri=${uri}`)
2960
+ getSignedUrlToGetContent = async (uri) => {
2961
+ //console.log(`[vtecxnext getSignedUrlToGetContent] start. uri=${uri}`)
2946
2962
  // キー入力値チェック
2947
2963
  checkUri(uri);
2948
2964
  // vte.cxへリクエスト
@@ -2955,7 +2971,7 @@ class VtecxNext {
2955
2971
  catch (e) {
2956
2972
  throw newFetchError(e, true);
2957
2973
  }
2958
- //console.log(`[vtecxnext getcontentSignedUrl] response. status=${response.status}`)
2974
+ //console.log(`[vtecxnext getSignedUrlToGetContent] response. status=${response.status}`)
2959
2975
  // vte.cxからのset-cookieを転記
2960
2976
  this.setCookie(response);
2961
2977
  // レスポンスのエラーチェック
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtecx/vtecxnext",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "vte.cx Next.js api",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -22,13 +22,13 @@
22
22
  },
23
23
  "homepage": "https://github.com/reflexworks/vtecxnext#readme",
24
24
  "devDependencies": {
25
- "@types/node": "^20.11.17",
25
+ "@types/node": "^20.11.30",
26
26
  "@types/sqlstring": "^2.3.2",
27
27
  "ts-node": "^10.9.2",
28
- "typescript": "^5.3.3"
28
+ "typescript": "^5.4.3"
29
29
  },
30
30
  "dependencies": {
31
- "next": "^14.1.0",
31
+ "next": "^14.1.4",
32
32
  "sqlstring": "^2.3.2"
33
33
  }
34
34
  }