YavorJS

01. Request Validator

Jul 8th, 2017
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. function validateRequest(obj) {
  2.  
  3. let method =obj.method;
  4. if(!(method==='GET'||method==='POST'||method==='DELETE'||method==='CONNECT')){
  5. throw new Error('Invalid request header: Invalid Method');
  6. }
  7.  
  8. if(obj.uri!==undefined){
  9. let pattern =/([a-z ]+)?\.+[a-z0-9 ]+/;
  10. let match =obj.uri.match(pattern);
  11. if(!(match || obj.uri==='*')){
  12. throw new Error ('Invalid request header: Invalid URI');
  13. }
  14. }
  15. else if(obj.uri===undefined){
  16. throw new Error ('Invalid request header: Invalid URI');
  17. }
  18.  
  19.  
  20. let versionArr=['HTTP/0.9', 'HTTP/1.0', 'HTTP/1.1', 'HTTP/2.0' ];
  21. let versionResult=versionArr.includes(obj.version);
  22. if(!versionResult) {
  23. throw new Error ('Invalid request header: Invalid Version');
  24. }
  25.  
  26. if(obj.message){
  27. let message =obj.message.match(/^[^\<\>\\\&\'\"]+$/);
  28. if(!(message || obj.message==='')){
  29. throw new Error ('Invalid request header: Invalid Message');
  30. }
  31. }
  32. else if(obj.message===undefined){
  33. throw new Error ('Invalid request header: Invalid Message');
  34. }
  35.  
  36. return obj;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment