Create type definition for 'http-signature' (#4049)
* Create type definition for 'http-signature' * Follow lint
This commit is contained in:
		
							parent
							
								
									2f72c38516
								
							
						
					
					
						commit
						40e177fa96
					
				
					 4 changed files with 78 additions and 3 deletions
				
			
		
							
								
								
									
										75
									
								
								src/@types/http-signature.d.ts
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								src/@types/http-signature.d.ts
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue