-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapp.rb
67 lines (59 loc) · 1.35 KB
/
app.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
require 'rubygems'
require 'sinatra'
require 'rest_client'
require 'uri'
URL = "http://localhost:3000/api"
enable :sessions
helpers do
def acessar *parametros
if parametros.first != "autenticar"
parametros = [parametros[0], session[:token]] + parametros[1..-1]
end
encode_regex = Regexp.union(URI::REGEXP::UNSAFE, /\//)
url = ([URL] + (parametros.collect{|p| URI.encode(p, encode_regex)})).join("/")
puts "acessando: #{url}"
data = RestClient.get url
if data =~ /^ERRO: 003/
renovar_token
return acessar *parametros
end
data
end
def renovar_token
session[:token] = acessar "autenticar", session[:login], session[:senha]
end
def envia_sms(telefone, mensagem)
acessar "envia_sms", telefone, mensagem
end
def ver_status_mensagem(id)
acessar "status", id
end
end
get "/" do
if not session[:token]
redirect "/login"
else
erb :index
end
end
get "/login" do
erb :login
end
post "/login" do
session[:login] = params[:login]
session[:senha] = params[:senha]
renovar_token
redirect "/"
end
post "/envia_sms" do
id = envia_sms(params[:telefone], params[:mensagem])
puts id
(session[:mensages] ||= {})[id] = {
:telefone => params[:telefone],
:mensagem => params[:mensagem]
}
redirect "/"
end
get "/status/:id" do
ver_status_mensagem params[:id]
end