mirror of
https://github.com/xuxiaobo-bobo/boda_jsEnv.git
synced 2025-04-22 21:28:29 +08:00
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
/// <reference types="node" />
|
|
import { Writable, Readable } from "stream";
|
|
import { FTPContext, FTPResponse } from "./FtpContext";
|
|
import { ProgressTracker, ProgressType } from "./ProgressTracker";
|
|
export type UploadCommand = "STOR" | "APPE";
|
|
/**
|
|
* Prepare a data socket using passive mode over IPv6.
|
|
*/
|
|
export declare function enterPassiveModeIPv6(ftp: FTPContext): Promise<FTPResponse>;
|
|
/**
|
|
* Parse an EPSV response. Returns only the port as in EPSV the host of the control connection is used.
|
|
*/
|
|
export declare function parseEpsvResponse(message: string): number;
|
|
/**
|
|
* Prepare a data socket using passive mode over IPv4.
|
|
*/
|
|
export declare function enterPassiveModeIPv4(ftp: FTPContext): Promise<FTPResponse>;
|
|
/**
|
|
* Parse a PASV response.
|
|
*/
|
|
export declare function parsePasvResponse(message: string): {
|
|
host: string;
|
|
port: number;
|
|
};
|
|
export declare function connectForPassiveTransfer(host: string, port: number, ftp: FTPContext): Promise<void>;
|
|
export interface TransferConfig {
|
|
command: string;
|
|
remotePath: string;
|
|
type: ProgressType;
|
|
ftp: FTPContext;
|
|
tracker: ProgressTracker;
|
|
}
|
|
export declare function uploadFrom(source: Readable, config: TransferConfig): Promise<FTPResponse>;
|
|
export declare function downloadTo(destination: Writable, config: TransferConfig): Promise<FTPResponse>;
|