Create type definition for 'http-signature' (#4049)
* Create type definition for 'http-signature' * Follow lint
This commit is contained in:
		
							parent
							
								
									2f72c38516
								
							
						
					
					
						commit
						40e177fa96
					
				|  | @ -0,0 +1,75 @@ | |||
| declare module 'http-signature' { | ||||
| 	import { IncomingMessage, ClientRequest } from 'http'; | ||||
| 
 | ||||
| 	interface ISignature { | ||||
| 		keyId: string; | ||||
| 		algorithm: string; | ||||
| 		headers: string[]; | ||||
| 		signature: string; | ||||
| 	} | ||||
| 
 | ||||
| 	interface IOptions { | ||||
| 		headers?: string[]; | ||||
| 		algorithm?: string; | ||||
| 		strict?: boolean; | ||||
| 		authorizationHeaderName?: string; | ||||
| 	} | ||||
| 
 | ||||
| 	interface IParseRequestOptions extends IOptions { | ||||
| 		clockSkew?: number; | ||||
| 	} | ||||
| 
 | ||||
| 	interface IParsedSignature  { | ||||
| 		scheme: string; | ||||
| 		params: ISignature; | ||||
| 		signingString: string; | ||||
| 	} | ||||
| 
 | ||||
| 	type RequestSignerConstructorOptions = | ||||
| 		IRequestSignerConstructorOptionsFromProperties | | ||||
| 		IRequestSignerConstructorOptionsFromFunction; | ||||
| 
 | ||||
| 	interface IRequestSignerConstructorOptionsFromProperties { | ||||
| 		keyId: string; | ||||
| 		key: string | Buffer; | ||||
| 		algorithm?: string; | ||||
| 	} | ||||
| 
 | ||||
| 	interface IRequestSignerConstructorOptionsFromFunction { | ||||
| 		sign?: (data: string, cb: (err: any, sig: ISignature) => void) => void; | ||||
| 	} | ||||
| 
 | ||||
| 	class RequestSigner { | ||||
| 		constructor(options: RequestSignerConstructorOptions); | ||||
| 
 | ||||
| 		public writeHeader(header: string, value: string): string; | ||||
| 
 | ||||
| 		public writeDateHeader(): string; | ||||
| 
 | ||||
| 		public writeTarget(method: string, path: string): void; | ||||
| 
 | ||||
| 		public sign(cb: (err: any, authz: string) => void): void; | ||||
| 	} | ||||
| 
 | ||||
| 	interface ISignRequestOptions extends IOptions { | ||||
| 		keyId: string; | ||||
| 		key: string; | ||||
| 		httpVersion?: string; | ||||
| 	} | ||||
| 
 | ||||
| 	export function parse(request: IncomingMessage, options?: IParseRequestOptions): IParsedSignature; | ||||
| 	export function parseRequest(request: IncomingMessage, options?: IParseRequestOptions): IParsedSignature; | ||||
| 
 | ||||
| 	export function sign(request: ClientRequest, options: ISignRequestOptions): boolean; | ||||
| 	export function signRequest(request: ClientRequest, options: ISignRequestOptions): boolean; | ||||
| 	export function createSigner(): RequestSigner; | ||||
| 	export function isSigner(obj: any): obj is RequestSigner; | ||||
| 
 | ||||
| 	export function sshKeyToPEM(key: string): string; | ||||
| 	export function sshKeyFingerprint(key: string): string; | ||||
| 	export function pemToRsaSSHKey(pem: string, comment: string): string; | ||||
| 
 | ||||
| 	export function verify(parsedSignature: IParsedSignature, pubkey: string | Buffer): boolean; | ||||
| 	export function verifySignature(parsedSignature: IParsedSignature, pubkey: string | Buffer): boolean; | ||||
| 	export function verifyHMAC(parsedSignature: IParsedSignature, secret: string): boolean; | ||||
| } | ||||
|  | @ -1,7 +1,7 @@ | |||
| import * as bq from 'bee-queue'; | ||||
| import * as debug from 'debug'; | ||||
| 
 | ||||
| const httpSignature = require('http-signature'); | ||||
| import * as httpSignature from 'http-signature'; | ||||
| import parseAcct from '../../../misc/acct/parse'; | ||||
| import User, { IRemoteUser } from '../../../models/user'; | ||||
| import perform from '../../../remote/activitypub/perform'; | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| import { request } from 'https'; | ||||
| const { sign } = require('http-signature'); | ||||
| import { sign } from 'http-signature'; | ||||
| import { URL } from 'url'; | ||||
| import * as debug from 'debug'; | ||||
| import * as crypto from 'crypto'; | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| import { ObjectID } from 'mongodb'; | ||||
| import * as Router from 'koa-router'; | ||||
| const json = require('koa-json-body'); | ||||
| const httpSignature = require('http-signature'); | ||||
| import * as httpSignature from 'http-signature'; | ||||
| 
 | ||||
| import { createHttpJob } from '../queue'; | ||||
| import { renderActivity } from '../remote/activitypub/renderer'; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue