提交 9d5f0f2d 编写于 作者: N Nayeem Rahman 提交者: Ry Dahl

Remove std/multipart (#3647)

since it overlaps with std/mime/multipart
上级 c4e8ed3c
......@@ -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 = "--------------------------";
......
......@@ -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<void> {
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<void> {
test(async function multipartMultipartReader(): Promise<void> {
// 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<void> {
});
test(async function multipartMultipartReader2(): Promise<void> {
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"
......
// 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");
}
// 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);
});
export * from "./formfile.ts";
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册