import ServerRequestInterface from '../Core/Http/Contracts/ServerRequestInterface'; import Encryptor from '../Core/Encryptor'; import ServerInterface from '../Core/Contracts/ServerInterface'; import Response from '../Core/Http/Response'; import Message from './Message'; import { ServerEventType, ServerHandlerClosure, ServerMessageType } from '../Types/global'; declare class Server extends ServerInterface { protected request: ServerRequestInterface; protected encryptor: Encryptor; constructor(request?: ServerRequestInterface, encryptor?: Encryptor); /** * 服务端消息处理 * @returns */ serve(): Promise; /** * 添加普通消息处理器 * @param type * @param handler * @returns */ addMessageListener(type: ServerMessageType, handler: ServerHandlerClosure): this; /** * 添加事件消息处理器 * @param event * @param handler * @returns */ addEventListener(event: ServerEventType, handler: ServerHandlerClosure): this; /** * 获取来自微信服务器的推送消息 * @param request 未设置该参数时,则从当前服务端收到的请求中获取 * @returns */ getRequestMessage(request?: ServerRequestInterface): Promise; protected decryptRequestMessage(): ServerHandlerClosure; /** * 获取解密后的消息 * @param request 未设置该参数时,则从当前服务端收到的请求中获取 * @returns */ getDecryptedMessage(request?: ServerRequestInterface): Promise; } interface Server { /** * 从后添加处理器 * @param handler */ with(next: ServerHandlerClosure): this; /** * 从后添加处理器 * @param handler */ withHandler(next: ServerHandlerClosure): this; /** * 从前添加处理器 * @param handler */ prepend(next: ServerHandlerClosure): this; /** * 从前添加处理器 * @param handler */ prependHandler(next: ServerHandlerClosure): this; /** * 删除处理器 * @param handler */ without(next: ServerHandlerClosure): this; /** * 删除处理器 * @param handler */ withoutHandler(next: ServerHandlerClosure): this; } export = Server;