UNPKG

fake-iamport-server

Version:
45 lines (44 loc) 2.17 kB
import { IConnection } from "./IConnection"; import { IIamportUser } from "./structures/IIamportUser"; /** * 아임포트 커넥터. * * 아임포트가 발급해주는 유저 인증 토큰에는, 유효 시간 {@link IIamportUser.expired_at} 이 * 존재하여, 해당 시간을 초과하거든 기 발급 토큰이 만료되어 더 이상 쓸 수 없게 된다. 때문에 * 아임포트 API 를 호출할 때마다, 늘 토큰의 만료 시간을 신경 써줘야해서 매우 번거롭다. * * `IamportConnector` 는 이러한 번거로움을 없애기 위하여, 아임포트의 API 를 호출하기 위하여 * {@link IConnection} 정보하기 위한 {@link IamportConnector.connect} 메서드를 호출할 때마다, * 아임포트 유저 인증 토큰의 만료 시간의 도래 여부를 계산하여 자동으로 갱신해주는 클래스이다. * * 따라서 아임포트 유저 토큰 고유의 시간 제한에 구애받지 않고, 아임포트의 API 들을 편하게 호출하고 * 싶다면, 현재 `IamportConnector` 의 적극적인 사용을 권하는 바이다. * * @author Samchon */ export declare class IamportConnector { readonly host: string; readonly accessor: IIamportUser.IAccessor; readonly surplus: number; private readonly mutex_; private token_; /** * Initializer Constructor * * @param host 아임포트 서버의 host 주소 * @param accessor 아임포트에서 발급해 준 API 및 secret 키 * @param surplus 만료 일시로부터의 여분 시간, 기본값은 15,000 ms */ constructor(host: string, accessor: IIamportUser.IAccessor, surplus?: number); /** * 커넥션 정보 구성하기. * * 아임포트 API 를 호출하기 위한 {@link IConnection} 정보를 구성하여 리턴한다. 이 커넥션 * 정보에는 아임포트의 유저 인증 토큰이 함께하는데, 만일 해당 유저 인증 토큰의 만료 일시가 * 도래했다면, 이를 새로운 것으로 자동 갱신해준다. * * @returns 커넥션 정보 with 인증 토큰 */ get(): Promise<IConnection>; private getToken; }