Implement pduprocessors
This commit is contained in:
3
src/Center/PDUProcessors/CenterPDUProcessor.ts
Normal file
3
src/Center/PDUProcessors/CenterPDUProcessor.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export interface CenterPDUProcessor {
|
||||
processPdu(session: any, pdu: any): Promise<any>;
|
||||
}
|
||||
16
src/Center/PDUProcessors/DebugProcessor.ts
Normal file
16
src/Center/PDUProcessors/DebugProcessor.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import Logger from "../../Logger";
|
||||
import {CenterPDUProcessor} from "./CenterPDUProcessor";
|
||||
|
||||
export class DebugProcessor implements CenterPDUProcessor {
|
||||
private logger: Logger;
|
||||
|
||||
constructor() {
|
||||
this.logger = new Logger('DebugProcessor');
|
||||
}
|
||||
|
||||
processPdu(session: any, pdu: any): Promise<any> {
|
||||
return new Promise<any>((resolve, reject) => {
|
||||
session.send(pdu.response()).then((replyPdu: any) => resolve(replyPdu), (error: any) => reject(error));
|
||||
});
|
||||
}
|
||||
}
|
||||
30
src/Center/PDUProcessors/EchoProcessor.ts
Normal file
30
src/Center/PDUProcessors/EchoProcessor.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import Logger from "../../Logger";
|
||||
import {CenterPDUProcessor} from "./CenterPDUProcessor";
|
||||
|
||||
const smpp = require("smpp");
|
||||
|
||||
export class DebugProcessor implements CenterPDUProcessor {
|
||||
private logger: Logger;
|
||||
|
||||
constructor() {
|
||||
this.logger = new Logger('DebugProcessor');
|
||||
}
|
||||
processPdu(session: any, pdu: any): Promise<any> {
|
||||
return new Promise<any>((resolve, reject) => {
|
||||
let promises = [];
|
||||
let replyPromise = session.send(pdu.response());
|
||||
let sendPromise = session.send(new smpp.PDU('enquire_link', {
|
||||
source_addr: pdu.destination_addr,
|
||||
destination_addr: pdu.source_addr,
|
||||
short_message: pdu.short_message
|
||||
}));
|
||||
promises.push(replyPromise);
|
||||
promises.push(sendPromise);
|
||||
Promise.all(promises).then((replyPdus: any) => {
|
||||
resolve(replyPdus);
|
||||
}).catch((error: any) => {
|
||||
reject(error);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user