@vtecx/vtecxnext 2.0.5 → 2.0.7

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,18 @@ 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, filename?: string) => Promise<any>;
699
+ /**
700
+ * upload content
701
+ * @param uri key
702
+ * @param bysize true if registering with specified size
703
+ * @param filename attachment file name
704
+ * @return message
705
+ */
706
+ private putcontentProc;
698
707
  /**
699
708
  * upload content registering with specified size
700
709
  * @param uri key
@@ -705,9 +714,10 @@ export declare class VtecxNext {
705
714
  * upload content and numbering
706
715
  * @param parenturi parent key
707
716
  * @param extension extension
717
+ * @param filename attachment file name
708
718
  * @return numbered key
709
719
  */
710
- postcontent: (parenturi: string, extension?: string) => Promise<any>;
720
+ postcontent: (parenturi: string, extension?: string, filename?: string) => Promise<any>;
711
721
  /**
712
722
  * delete content
713
723
  * @param uri key
@@ -724,16 +734,17 @@ export declare class VtecxNext {
724
734
  /**
725
735
  * get signed url for upload content
726
736
  * @param uri key
737
+ * @param filename attachment file name
727
738
  * @return message
728
739
  */
729
- getSignedUrlToPutContent: (uri: string) => Promise<any>;
740
+ getSignedUrlToPutContent: (uri: string, filename?: string) => Promise<any>;
730
741
  /**
731
742
  * get signed url for upload content and numbering
732
743
  * @param parenturi parent key
733
744
  * @param extension extension
734
745
  * @return numbered key
735
746
  */
736
- getSignedUrlToPostContent: (parenturi: string, extension?: string) => Promise<any>;
747
+ getSignedUrlToPostContent: (parenturi: string, extension?: string, filename?: string) => Promise<any>;
737
748
  /**
738
749
  * get signed url for download content
739
750
  * @param uri key
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,20 @@ 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, filename) => {
2754
+ return this.putcontentProc(uri, false, filename);
2755
+ };
2756
+ /**
2757
+ * upload content
2758
+ * @param uri key
2759
+ * @param bysize true if registering with specified size
2760
+ * @param filename attachment file name
2761
+ * @return message
2762
+ */
2763
+ putcontentProc = async (uri, bysize, filename) => {
2752
2764
  //console.log(`[vtecxnext putcontent] start. uri=${uri} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2753
2765
  // キー入力値チェック
2754
2766
  checkUri(uri);
@@ -2757,6 +2769,9 @@ class VtecxNext {
2757
2769
  const url = `${SERVLETPATH_PROVIDER}${uri}?_content${bysize ? '&_bysize' : ''}`;
2758
2770
  //console.log(`[vtecxnext putcontent] request. url=${url}`)
2759
2771
  const headers = { 'Content-Type': this.req.headers.get('content-type') };
2772
+ if (filename) {
2773
+ headers['Content-Disposition'] = `attachment; filename="${encodeURIComponent(filename)}"`;
2774
+ }
2760
2775
  //const buf = await buffer(this.req)
2761
2776
  const buf = await this.req.arrayBuffer();
2762
2777
  let response;
@@ -2779,16 +2794,17 @@ class VtecxNext {
2779
2794
  * @return message
2780
2795
  */
2781
2796
  putcontentBySize = async (uri) => {
2782
- return this.putcontent(uri, true);
2797
+ return this.putcontentProc(uri, true);
2783
2798
  };
2784
2799
  /**
2785
2800
  * upload content and numbering
2786
2801
  * @param parenturi parent key
2787
2802
  * @param extension extension
2803
+ * @param filename attachment file name
2788
2804
  * @return numbered key
2789
2805
  */
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']}`)
2806
+ postcontent = async (parenturi, extension, filename) => {
2807
+ //console.log(`[vtecxnext postcontent] start. parenturi=${parenturi} extension=${extension} filename=${filename}`)
2792
2808
  // キー入力値チェック
2793
2809
  checkUri(parenturi);
2794
2810
  // vte.cxへリクエスト
@@ -2796,6 +2812,9 @@ class VtecxNext {
2796
2812
  const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content${extension ? '&_ext=' + extension : ''}`;
2797
2813
  //console.log(`[vtecxnext postcontent] request. url=${url}`)
2798
2814
  const headers = { 'Content-Type': this.req.headers.get('content-type') };
2815
+ if (filename) {
2816
+ headers['Content-Disposition'] = `attachment; filename="${encodeURIComponent(filename)}"`;
2817
+ }
2799
2818
  //const buf = await buffer(this.req)
2800
2819
  const buf = await this.req.arrayBuffer();
2801
2820
  let response;
@@ -2882,9 +2901,10 @@ class VtecxNext {
2882
2901
  /**
2883
2902
  * get signed url for upload content
2884
2903
  * @param uri key
2904
+ * @param filename attachment file name
2885
2905
  * @return message
2886
2906
  */
2887
- getSignedUrlToPutContent = async (uri) => {
2907
+ getSignedUrlToPutContent = async (uri, filename) => {
2888
2908
  //console.log(`[vtecxnext getSignedUrlToPutContent] start. uri=${uri} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2889
2909
  // キー入力値チェック
2890
2910
  checkUri(uri);
@@ -2893,6 +2913,9 @@ class VtecxNext {
2893
2913
  const url = `${SERVLETPATH_PROVIDER}${uri}?_content&_signedurl`;
2894
2914
  //console.log(`[vtecxnext getSignedUrlToPutContent] request. url=${url}`)
2895
2915
  const headers = { 'Content-Type': this.req.headers.get('content-type') };
2916
+ if (filename) {
2917
+ headers['Content-Disposition'] = `attachment; filename="${encodeURIComponent(filename)}"`;
2918
+ }
2896
2919
  let response;
2897
2920
  try {
2898
2921
  response = await this.requestVtecx(method, url, undefined, headers);
@@ -2913,7 +2936,7 @@ class VtecxNext {
2913
2936
  * @param extension extension
2914
2937
  * @return numbered key
2915
2938
  */
2916
- getSignedUrlToPostContent = async (parenturi, extension) => {
2939
+ getSignedUrlToPostContent = async (parenturi, extension, filename) => {
2917
2940
  //console.log(`[vtecxnext getSignedUrlToPostContent] start. parenturi=${parenturi} content-type:${req.headers['content-type']} content-length:${req.headers['content-length']}`)
2918
2941
  // キー入力値チェック
2919
2942
  checkUri(parenturi);
@@ -2922,6 +2945,9 @@ class VtecxNext {
2922
2945
  const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content&_signedurl${extension ? '&_ext=' + extension : ''}`;
2923
2946
  //console.log(`[vtecxnext getSignedUrlToPostContent] request. url=${url}`)
2924
2947
  const headers = { 'Content-Type': this.req.headers.get('content-type') };
2948
+ if (filename) {
2949
+ headers['Content-Disposition'] = `attachment; filename="${encodeURIComponent(filename)}"`;
2950
+ }
2925
2951
  let response;
2926
2952
  try {
2927
2953
  response = await this.requestVtecx(method, url, undefined, headers);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtecx/vtecxnext",
3
- "version": "2.0.5",
3
+ "version": "2.0.7",
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
  }