Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function ajaxValidator(input){
- let hash = input.pop().split('');
- let input1Reg = /^Method: (PUT|GET|POST|DELETE)$/g;
- let input2Reg = /^Credentials: (Bearer|Basic) ([A-Za-z0-9]+)$/g;
- let input3Reg = /^Content: ([a-zA-Z0-9.]+)$/g;
- let credentialRegex = /^(Bearer|Basic) ([A-Za-z0-9]+)$/g;
- let contentRegex = /^([a-zA-Z0-9.]+)$/g;
- let decoded = false;
- for (let i = 0; i < input.length-1; i+=3) {
- if(!input[i].match(input1Reg)){console.log(`Response-Code:400`);continue;}
- if(!input[i+1].match(input2Reg)){console.log(`Response-Code:400`);continue;}
- if(!input[i+2].match(input3Reg)){console.log(`Response-Code:400`);continue;}
- let [empty1,method] = input[i].split(': ');
- let [empty2,credentials] = input[i+1].split(': ');
- let [empty3,content] = input[i+2].split(': ');
- if(method != 'GET' && method != 'POST' && method != 'PUT' && method != 'DELETE'){console.log(`Response-Code:400`);continue;}
- if(!credentials.match(credentialRegex)){console.log(`Response-Code:400`); continue;}
- if(!content.match(contentRegex)){console.log(`Response-Code:400`); continue;}
- credentials = credentials.split(' ');
- if(method != 'GET' && credentials[0] == 'Basic'){console.log(`Response-Method:${method}&Code:401`);continue;}
- for (let j = 0; j < hash.length; j+=2) {
- let numberOfOcc = Number(hash[j]);
- let letter = hash[j+1];
- let letterReg = new RegExp(letter,'g');
- let match = credentials[1].match(letterReg);
- if(match != null && match.length >= numberOfOcc) {decoded = true;break;}
- }
- if(decoded === false){console.log(`Response–Method:${method}&Code:403`);continue;}
- console.log(`Response-Method:${method}&Code:200&Header:${credentials[1]}`);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement