Class: MeshChat::Net::Listener::Server
- Inherits:
-
Sinatra::Base
- Object
- Sinatra::Base
- MeshChat::Net::Listener::Server
- Defined in:
- lib/meshchat/net/listener/server.rb
Constant Summary collapse
- OK =
200- BAD_REQUEST =
400- NOT_AUTHORIZED =
401- FORBIDDEN =
403
Class Method Summary collapse
-
.run! ⇒ Object
TODO: do we want to return an error if we can’t decrypt?.
Instance Method Summary collapse
Class Method Details
.run! ⇒ Object
TODO: do we want to return an error if we can’t decrypt?
24 25 26 27 28 29 30 |
# File 'lib/meshchat/net/listener/server.rb', line 24 def self.run!(*) # start the server super # send a pingall to see who's online MeshChat::Command::PingAll.new.handle end |
Instance Method Details
#get_message ⇒ Object
54 55 56 57 58 59 60 61 62 |
# File 'lib/meshchat/net/listener/server.rb', line 54 def # if received as form data return params[:message] if params[:message] # if received as json request_body = request.body.read json_body = JSON.parse(request_body) json_body['message'] end |
#process(raw) ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/meshchat/net/listener/server.rb', line 64 def process(raw) # decode, etc begin RequestProcessor.process(raw) rescue Errors::NotAuthorized status_of NOT_AUTHORIZED rescue Errors::Forbidden status_of FORBIDDEN rescue Errors::BadRequest status_of BAD_REQUEST end end |
#process_request ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/meshchat/net/listener/server.rb', line 40 def process_request begin # form params should override # raw body raw = process(raw) rescue => e Display.error e. Display.error e.backtrace.join("\n") body e. status 500 end end |
#status_of(s) ⇒ Object
77 78 79 80 |
# File 'lib/meshchat/net/listener/server.rb', line 77 def status_of(s) status s body '' end |