Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. var server = new Pretender(function() {
  2. this.post('/session', function(request) {
  3. switch(request.requestBody) {
  4. case 'username=admin&password=secret':
  5. return [201, {'Content-Type': 'application/json'}, '{"token":"admin","user":{"role":"admin","name":"Administrator"}}'];
  6.  
  7. case 'username=user&password=secret':
  8. return [201, {'Content-Type': 'application/json'}, '{"token":"user","user":{"role":"user","name":"User"}}'];
  9.  
  10. default:
  11. return [401, {}, 'Incorrect username/password'];
  12. }
  13. });
  14.  
  15. this.delete('/session', function() {
  16. return [200, {}, 'You are logged out'];
  17. });
  18.  
  19. this.get('/public', function() {
  20. return [200, {}, 'Lorem ipsum dolor sit amet'];
  21. });
  22.  
  23. this.get('/protected', function(request) {
  24. switch (request.requestHeaders['Authorization']) {
  25. case 'Token token=user':
  26. case 'Token token=admin':
  27. return [200, {}, 'Since you can see this, you must be logged in!'];
  28.  
  29. case 'Token token=expired':
  30. return [401, {}, 'Your session has expired'];
  31.  
  32. default:
  33. return [401, {}, 'Please login to access this page'];
  34. }
  35. });
  36.  
  37. this.get('/secret', function(request) {
  38. switch (request.requestHeaders['Authorization']) {
  39. case 'Token token=user':
  40. return [403, {}, 'You are not allowed to access this page'];
  41.  
  42. case 'Token token=admin':
  43. return [200, {}, 'Since you can see this, you must be an admin!'];
  44.  
  45. case 'Token token=expired':
  46. return [401, {}, 'Your session has expired'];
  47.  
  48. default:
  49. return [401, {}, 'Please login to access this page'];
  50. }
  51. });
  52. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement