@vtecx/vtecxnext 2.0.1 → 2.0.3

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.
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { NextRequest } from 'next/server';
2
3
  import type { Readable } from 'node:stream';
3
4
  /**
@@ -700,6 +701,13 @@ export declare class VtecxNext {
700
701
  * @return message
701
702
  */
702
703
  putcontentBySize: (uri: string) => Promise<any>;
704
+ /**
705
+ * upload content and numbering
706
+ * @param parenturi parent key
707
+ * @param extension extension
708
+ * @return numbered key
709
+ */
710
+ postcontent: (parenturi: string, extension?: string) => Promise<any>;
703
711
  /**
704
712
  * delete content
705
713
  * @param uri key
package/dist/vtecxnext.js CHANGED
@@ -2781,6 +2781,37 @@ class VtecxNext {
2781
2781
  putcontentBySize = async (uri) => {
2782
2782
  return this.putcontent(uri, true);
2783
2783
  };
2784
+ /**
2785
+ * upload content and numbering
2786
+ * @param parenturi parent key
2787
+ * @param extension extension
2788
+ * @return numbered key
2789
+ */
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']}`)
2792
+ // キー入力値チェック
2793
+ checkUri(parenturi);
2794
+ // vte.cxへリクエスト
2795
+ const method = 'POST';
2796
+ const url = `${SERVLETPATH_PROVIDER}${parenturi}?_content${extension ? '&_ext=' + extension : ''}`;
2797
+ //console.log(`[vtecxnext postcontent] request. url=${url}`)
2798
+ const headers = { 'Content-Type': this.req.headers.get('content-type') };
2799
+ //const buf = await buffer(this.req)
2800
+ const buf = await this.req.arrayBuffer();
2801
+ let response;
2802
+ try {
2803
+ response = await this.requestVtecx(method, url, buf, headers);
2804
+ }
2805
+ catch (e) {
2806
+ throw newFetchError(e, true);
2807
+ }
2808
+ //console.log(`[vtecxnext postcontent] response. status=${response.status}`)
2809
+ // vte.cxからのset-cookieを転記
2810
+ this.setCookie(response);
2811
+ // レスポンスのエラーチェック
2812
+ await checkVtecxResponse(response);
2813
+ return await getJson(response);
2814
+ };
2784
2815
  /**
2785
2816
  * delete content
2786
2817
  * @param uri key
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtecx/vtecxnext",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
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.8.2",
26
- "@types/sqlstring": "^2.3.0",
27
- "ts-node": "^10.9.1",
28
- "typescript": "^5.2.2"
25
+ "@types/node": "^20.11.17",
26
+ "@types/sqlstring": "^2.3.2",
27
+ "ts-node": "^10.9.2",
28
+ "typescript": "^5.3.3"
29
29
  },
30
30
  "dependencies": {
31
- "next": "^13.5.4",
32
- "sqlstring": "^2.3.3"
31
+ "next": "^14.1.0",
32
+ "sqlstring": "^2.3.2"
33
33
  }
34
34
  }