From 9d5f0f2d23b40470c557c50257ca792e6cd1595c Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Fri, 10 Jan 2020 19:29:09 +0000 Subject: Remove std/multipart (#3647) since it overlaps with std/mime/multipart --- std/mime/multipart.ts | 24 +++++++++++++++++++++++- std/mime/multipart_test.ts | 11 ++++++----- std/mime/testdata/sample.txt | 27 +++++++++++++++++++++++++++ std/multipart/fixtures/sample.txt | 27 --------------------------- std/multipart/formfile.ts | 24 ------------------------ std/multipart/formfile_test.ts | 32 -------------------------------- std/multipart/mod.ts | 1 - 7 files changed, 56 insertions(+), 90 deletions(-) create mode 100644 std/mime/testdata/sample.txt delete mode 100644 std/multipart/fixtures/sample.txt delete mode 100644 std/multipart/formfile.ts delete mode 100644 std/multipart/formfile_test.ts delete mode 100644 std/multipart/mod.ts (limited to 'std') diff --git a/std/mime/multipart.ts b/std/mime/multipart.ts index 26860e3de..d88ff3d13 100644 --- a/std/mime/multipart.ts +++ b/std/mime/multipart.ts @@ -8,13 +8,35 @@ type Writer = Deno.Writer; import { equal, findIndex, findLastIndex, hasPrefix } from "../bytes/mod.ts"; import { copyN } from "../io/ioutil.ts"; import { MultiReader } from "../io/readers.ts"; -import { FormFile } from "../multipart/formfile.ts"; import { extname } from "../path/mod.ts"; import { tempFile } from "../io/util.ts"; import { BufReader, BufWriter, UnexpectedEOFError } from "../io/bufio.ts"; import { encoder } from "../strings/mod.ts"; import { assertStrictEq } from "../testing/asserts.ts"; import { TextProtoReader } from "../textproto/mod.ts"; +import { hasOwnProperty } from "../util/has_own_property.ts"; + +/** FormFile object */ +export interface FormFile { + /** filename */ + filename: string; + /** content-type header value of file */ + type: string; + /** byte size of file */ + size: number; + /** in-memory content of file. Either content or tempfile is set */ + content?: Uint8Array; + /** temporal file path. + * Set if file size is bigger than specified max-memory size at reading form + * */ + tempfile?: string; +} + +/** Type guard for FormFile */ +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export function isFormFile(x: any): x is FormFile { + return hasOwnProperty(x, "filename") && hasOwnProperty(x, "type"); +} function randomBoundary(): string { let boundary = "--------------------------"; diff --git a/std/mime/multipart_test.ts b/std/mime/multipart_test.ts index 4658ce976..869932fbf 100644 --- a/std/mime/multipart_test.ts +++ b/std/mime/multipart_test.ts @@ -10,12 +10,13 @@ import { import { test, runIfMain } from "../testing/mod.ts"; import * as path from "../path/mod.ts"; import { - matchAfterPrefix, + FormFile, MultipartReader, MultipartWriter, + isFormFile, + matchAfterPrefix, scanUntilBoundary } from "./multipart.ts"; -import { FormFile, isFormFile } from "../multipart/formfile.ts"; import { StringWriter } from "../io/writers.ts"; const e = new TextEncoder(); @@ -94,7 +95,7 @@ test(async function multipartMultipartWriter(): Promise { const mw = new MultipartWriter(buf); await mw.writeField("foo", "foo"); await mw.writeField("bar", "bar"); - const f = await open(path.resolve("./multipart/fixtures/sample.txt"), "r"); + const f = await open(path.resolve("./mime/testdata/sample.txt"), "r"); await mw.writeFile("file", "sample.txt", f); await mw.close(); }); @@ -173,7 +174,7 @@ test(async function multipartMultipartWriter3(): Promise { test(async function multipartMultipartReader(): Promise { // FIXME: path resolution - const o = await open(path.resolve("./multipart/fixtures/sample.txt")); + const o = await open(path.resolve("./mime/testdata/sample.txt")); const mr = new MultipartReader( o, "--------------------------434049563556637648550474" @@ -187,7 +188,7 @@ test(async function multipartMultipartReader(): Promise { }); test(async function multipartMultipartReader2(): Promise { - const o = await open(path.resolve("./multipart/fixtures/sample.txt")); + const o = await open(path.resolve("./mime/testdata/sample.txt")); const mr = new MultipartReader( o, "--------------------------434049563556637648550474" diff --git a/std/mime/testdata/sample.txt b/std/mime/testdata/sample.txt new file mode 100644 index 000000000..97e9bf553 --- /dev/null +++ b/std/mime/testdata/sample.txt @@ -0,0 +1,27 @@ +----------------------------434049563556637648550474 +content-disposition: form-data; name="foo" +content-type: application/octet-stream + +foo +----------------------------434049563556637648550474 +content-disposition: form-data; name="bar" +content-type: application/octet-stream + +bar +----------------------------434049563556637648550474 +content-disposition: form-data; name="file"; filename="tsconfig.json" +content-type: application/octet-stream + +{ + "compilerOptions": { + "target": "es2018", + "baseUrl": ".", + "paths": { + "deno": ["./deno.d.ts"], + "https://*": ["../../.deno/deps/https/*"], + "http://*": ["../../.deno/deps/http/*"] + } + } +} + +----------------------------434049563556637648550474-- diff --git a/std/multipart/fixtures/sample.txt b/std/multipart/fixtures/sample.txt deleted file mode 100644 index 97e9bf553..000000000 --- a/std/multipart/fixtures/sample.txt +++ /dev/null @@ -1,27 +0,0 @@ -----------------------------434049563556637648550474 -content-disposition: form-data; name="foo" -content-type: application/octet-stream - -foo -----------------------------434049563556637648550474 -content-disposition: form-data; name="bar" -content-type: application/octet-stream - -bar -----------------------------434049563556637648550474 -content-disposition: form-data; name="file"; filename="tsconfig.json" -content-type: application/octet-stream - -{ - "compilerOptions": { - "target": "es2018", - "baseUrl": ".", - "paths": { - "deno": ["./deno.d.ts"], - "https://*": ["../../.deno/deps/https/*"], - "http://*": ["../../.deno/deps/http/*"] - } - } -} - -----------------------------434049563556637648550474-- diff --git a/std/multipart/formfile.ts b/std/multipart/formfile.ts deleted file mode 100644 index 0f7a3eb15..000000000 --- a/std/multipart/formfile.ts +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. -import { hasOwnProperty } from "../util/has_own_property.ts"; - -/** FormFile object */ -export interface FormFile { - /** filename */ - filename: string; - /** content-type header value of file */ - type: string; - /** byte size of file */ - size: number; - /** in-memory content of file. Either content or tempfile is set */ - content?: Uint8Array; - /** temporal file path. - * Set if file size is bigger than specified max-memory size at reading form - * */ - tempfile?: string; -} - -/** Type guard for FormFile */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function isFormFile(x: any): x is FormFile { - return hasOwnProperty(x, "filename") && hasOwnProperty(x, "type"); -} diff --git a/std/multipart/formfile_test.ts b/std/multipart/formfile_test.ts deleted file mode 100644 index cc46168fb..000000000 --- a/std/multipart/formfile_test.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. -import { test } from "../testing/mod.ts"; -import { assertEquals } from "../testing/asserts.ts"; -import { isFormFile } from "./formfile.ts"; - -test(function multipartIsFormFile(): void { - assertEquals( - isFormFile({ - filename: "foo", - type: "application/json" - }), - true - ); - assertEquals( - isFormFile({ - filename: "foo" - }), - false - ); -}); - -test(function isFormFileShouldNotThrow(): void { - assertEquals( - isFormFile({ - filename: "foo", - type: "application/json", - hasOwnProperty: "bar" - }), - true - ); - assertEquals(isFormFile(Object.create(null)), false); -}); diff --git a/std/multipart/mod.ts b/std/multipart/mod.ts deleted file mode 100644 index 8e8a665a9..000000000 --- a/std/multipart/mod.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./formfile.ts"; -- cgit v1.2.3