This commit is contained in:
		
							
								
								
									
										2
									
								
								lib/listener.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								lib/listener.d.ts
									
									
									
									
										vendored
									
									
								
							@ -2,6 +2,6 @@ import { Request } from "./request";
 | 
			
		||||
export default class Listener {
 | 
			
		||||
    private udp;
 | 
			
		||||
    private tcp;
 | 
			
		||||
    constructor(type: "udp" | "tcp", onRequest: (request: Request) => any, host?: string);
 | 
			
		||||
    constructor(type: "udp4" | "udp6" | "tcp", onRequest: (request: Request) => any, host?: string);
 | 
			
		||||
    close(): void;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -6,8 +6,9 @@ const request_1 = require("./request");
 | 
			
		||||
class Listener {
 | 
			
		||||
    constructor(type, onRequest, host = "0.0.0.0") {
 | 
			
		||||
        switch (type) {
 | 
			
		||||
            case "udp":
 | 
			
		||||
                this.udp = dgram.createSocket("udp4");
 | 
			
		||||
            case "udp6":
 | 
			
		||||
            case "udp4":
 | 
			
		||||
                this.udp = dgram.createSocket(type);
 | 
			
		||||
                this.udp.on("listening", () => {
 | 
			
		||||
                    console.log(`UDP Server Listening on 53`);
 | 
			
		||||
                });
 | 
			
		||||
@ -21,7 +22,7 @@ class Listener {
 | 
			
		||||
                this.udp.bind(53, host);
 | 
			
		||||
                break;
 | 
			
		||||
            case "tcp":
 | 
			
		||||
                console.log("Not correct implemented");
 | 
			
		||||
                console.log("Using TCP is experimantal");
 | 
			
		||||
                this.tcp = net.createServer((socket) => {
 | 
			
		||||
                    let length;
 | 
			
		||||
                    let got = 0;
 | 
			
		||||
@ -30,7 +31,7 @@ class Listener {
 | 
			
		||||
                        let offset = 0;
 | 
			
		||||
                        if (!message) {
 | 
			
		||||
                            length = data.readUInt16BE(0);
 | 
			
		||||
                            if (length > 2048)
 | 
			
		||||
                            if (length > 4096)
 | 
			
		||||
                                return socket.destroy(); //Requests with more that 2k are ignored
 | 
			
		||||
                            message = Buffer.alloc(length);
 | 
			
		||||
                            offset = 2;
 | 
			
		||||
 | 
			
		||||
@ -1 +1 @@
 | 
			
		||||
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"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"}
 | 
			
		||||
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"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"}
 | 
			
		||||
@ -6,10 +6,11 @@ import { PassThrough } from "stream";
 | 
			
		||||
export default class Listener {
 | 
			
		||||
   private udp: dgram.Socket
 | 
			
		||||
   private tcp: net.Server
 | 
			
		||||
   constructor(type: "udp" | "tcp", onRequest: (request: Request) => any, host: string = "0.0.0.0") {
 | 
			
		||||
   constructor(type: "udp4" | "udp6" | "tcp", onRequest: (request: Request) => any, host: string = "0.0.0.0") {
 | 
			
		||||
      switch (type) {
 | 
			
		||||
         case "udp":
 | 
			
		||||
            this.udp = dgram.createSocket("udp4")
 | 
			
		||||
         case "udp6":
 | 
			
		||||
         case "udp4":
 | 
			
		||||
            this.udp = dgram.createSocket(type)
 | 
			
		||||
            this.udp.on("listening", () => {
 | 
			
		||||
               console.log(`UDP Server Listening on 53`)
 | 
			
		||||
            })
 | 
			
		||||
@ -25,7 +26,7 @@ export default class Listener {
 | 
			
		||||
            this.udp.bind(53, host)
 | 
			
		||||
            break;
 | 
			
		||||
         case "tcp":
 | 
			
		||||
            console.log("Not correct implemented")
 | 
			
		||||
            console.log("Using TCP is experimantal")
 | 
			
		||||
            this.tcp = net.createServer((socket) => {
 | 
			
		||||
               let length: number;
 | 
			
		||||
               let got: number = 0;
 | 
			
		||||
@ -34,7 +35,7 @@ export default class Listener {
 | 
			
		||||
                  let offset = 0;
 | 
			
		||||
                  if (!message) {
 | 
			
		||||
                     length = data.readUInt16BE(0);
 | 
			
		||||
                     if (length > 2048) return socket.destroy(); //Requests with more that 2k are ignored
 | 
			
		||||
                     if (length > 4096) return socket.destroy(); //Requests with more that 2k are ignored
 | 
			
		||||
                     message = Buffer.alloc(length);
 | 
			
		||||
                     offset = 2;
 | 
			
		||||
                  }
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user