vagrant-node 1.0.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  *.gem
2
2
  .bundle
3
+ .svn
3
4
  Gemfile.lock
4
5
  pkg/*
@@ -0,0 +1,110 @@
1
+ require 'pp'
2
+ require 'rubygems'
3
+ require 'vagrant-node/util/downloader'
4
+ require "vagrant/util/platform"
5
+ require 'vagrant-node/obmanager'
6
+
7
+ module Vagrant
8
+ module Node
9
+ class BoxAddAction
10
+ def initialize(app, env)
11
+ @app = app
12
+ end
13
+
14
+ def call(env)
15
+ @temp_path = env[:tmp_path].join("box" + Time.now.to_i.to_s)
16
+
17
+
18
+ url = env[:box_url]
19
+ if File.file?(url) || url !~ /^[a-z0-9]+:.*$/i
20
+ file_path = File.expand_path(url)
21
+ file_path = Util::Platform.cygwin_windows_path(file_path)
22
+ url = "file:#{file_path}"
23
+ end
24
+
25
+ downloader_options = {}
26
+ downloader_options[:callback] = env[:callback]
27
+ downloader_options[:insecure] = env[:box_download_insecure]
28
+ downloader_options[:ui] = env[:ui]
29
+ downloader_options[:db] = env[:db]
30
+ downloader_options[:box_name] = env[:box_name]
31
+
32
+
33
+
34
+
35
+ # Download the box to a temporary path. We store the temporary
36
+ # path as an instance variable so that the `#recover` method can
37
+ # access it.
38
+ #env[:ui].info(I18n.t("vagrant.actions.box.download.downloading"))
39
+
40
+
41
+ begin
42
+ downloader = Util::Downloader.new(url, @temp_path, downloader_options)
43
+ downloader.download!
44
+ rescue Errors::DownloaderInterrupted
45
+ # The downloader was interrupted, so just return, because that
46
+ # means we were interrupted as well.
47
+ #env[:ui].info(I18n.t("vagrant.actions.box.download.interrupted"))
48
+ return
49
+ rescue Errors::DownloaderError => msg
50
+ #puts msg.message.split(/\r\n/).inspect.length
51
+
52
+ #puts "CONTROLAR ESTE MENSAJE DE ERROR"
53
+
54
+
55
+ return
56
+ end
57
+
58
+ # Add the box
59
+ #env[:ui].info I18n.t("vagrant.actions.box.add.adding", :name => env[:box_name])
60
+ added_box = nil
61
+ error=false
62
+
63
+ begin
64
+
65
+ #last_id=env[:db].add_box_uncompression(env[:box_name],url)
66
+ last_id=ObManager.instance.dbmanager.add_box_uncompression(env[:box_name],url)
67
+
68
+ added_box = env[:box_collection].add(
69
+ @temp_path, env[:box_name], env[:box_provider], env[:box_force])
70
+
71
+ error=false
72
+ rescue Vagrant::Errors::BoxUpgradeRequired
73
+
74
+ error=true
75
+ # Upgrade the box
76
+ #@db.set_box_uncompression_error(last_id)
77
+
78
+ env[:box_collection].upgrade(env[:box_name])
79
+
80
+ # Try adding it again
81
+ retry
82
+ end
83
+
84
+
85
+ #env[:db].clear_box_uncompression(last_id) if (error==false)
86
+ #env[:db].clear_box_uncompression(last_id)
87
+ ObManager.instance.dbmanager.clear_box_uncompression(last_id)
88
+
89
+ #env[:db].close_db_connection
90
+ # Call the 'recover' method in all cases to clean up the
91
+ # downloaded temporary file.
92
+ recover(env)
93
+
94
+ # Success, we added a box!
95
+ #env[:ui].success(
96
+ # I18n.t("vagrant.actions.box.add.added", name: added_box.name, provider: added_box.provider))
97
+
98
+ # Carry on!
99
+ @app.call(env)
100
+ end
101
+
102
+ def recover(env)
103
+ if @temp_path && File.exist?(@temp_path)
104
+ File.unlink(@temp_path)
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
110
+
@@ -67,7 +67,7 @@ module Vagrant
67
67
  #se produce un error y deja a la máquina en estado 'gurumeditating'
68
68
  def driver.take_snapshot(name,description=" ")
69
69
 
70
- raise RestException.new(400,"Snapshot name can't be emtpy") if name.empty?
70
+ raise RestException.new(400,"Snapshot name can't be emtpy") if name.empty?
71
71
 
72
72
  #Snapshots with the same name are not allowed
73
73
  begin
@@ -2,43 +2,35 @@ require 'rubygems'
2
2
  require 'sinatra'
3
3
  require 'json'
4
4
  require 'rack'
5
- require 'vagrant-node/clientcontroller'
5
+ require_relative 'clientcontroller'
6
6
  require 'vagrant-node/apidesc'
7
7
  require 'vagrant-node/exceptions'
8
-
9
8
  require 'cgi'
10
-
11
9
  require 'pp'
10
+ require 'vagrant-node/obmanager'
11
+
12
+
13
+
12
14
  module Vagrant
13
- module Node
14
- module ServerAPI
15
+ module Node
16
+ module ServerAPI
15
17
 
16
- class API < Sinatra::Base
17
- include RestRoutes
18
- COOKIE_TOKEN_ID = "TOKEN"
19
- COOKIE_EXPIRATION_TIME = 5
20
- def initialize
21
- super
22
- @session_table=Hash.new
23
- end
24
- #use Rack::Session::Pool, :expire_after => 2592000
25
- #enable :sessions
26
- # before do
27
- # content_type :json
28
- # end
29
-
30
-
31
- #UPLOAD A FILE
32
- # post '/' do
33
- # tempfile = params['file'][:tempfile]
34
- # filename = params['file'][:filename]
35
- # File.copy(tempfile.path, "./files/#{filename}")
36
- # redirect '/'
37
- #end
38
-
39
- #before '^.*(^login).*' do
40
- before %r{^(?!#{RouteManager.login_route}$)} do
41
- content_type :json
18
+ class API < Sinatra::Base
19
+ include RestRoutes
20
+ COOKIE_TOKEN_ID = "TOKEN"
21
+ COOKIE_EXPIRATION_TIME = 5
22
+
23
+ def initialize
24
+ super
25
+ @session_table=Hash.new
26
+ #ObManager.instance.env=env
27
+
28
+ end
29
+
30
+
31
+ #before '^.*(^login).*' do
32
+ before %r{^(?!#{RouteManager.login_route}$)} do
33
+ content_type :json
42
34
  #FIXME REMOVE
43
35
  #puts "ENTRO BEFORE"
44
36
  #pp request.env
@@ -46,7 +38,7 @@ module Vagrant
46
38
  cookie = ""
47
39
 
48
40
  #pp "TOKEN DESCAPADO = #{CGI::unescape(request.env['HTTP_CONTENT_MD5'])}"
49
-
41
+
50
42
 
51
43
  cookie = request.cookies[COOKIE_TOKEN_ID]
52
44
  token = CGI::unescape(request.env['HTTP_CONTENT_MD5']) if request.env['HTTP_CONTENT_MD5']!=nil
@@ -58,284 +50,325 @@ module Vagrant
58
50
  # pp "TIENE COOKIE " if (@session_table.has_key?(cookie))
59
51
  # pp "CONTIENE TOKEN " if (challenged?(token))
60
52
 
61
- if (!@session_table.has_key?(cookie)||
62
- !challenged?(token))
63
- redirect to(RouteManager.login_route)
64
-
65
- else
66
- #raise RestException.new(401,"Not authorized") if !authorized?(cookie,token)
67
- halt 401, "Not authorized\n" if !authorized?(cookie,token)
68
- end
69
- clear_session_table
70
- end
71
-
72
- after %r{^(?!#{RouteManager.login_route}$)} do
73
-
74
- cookie=request.cookies[COOKIE_TOKEN_ID]
75
-
76
- @session_table.delete(cookie) if cookie!=nil
77
- #FIXME REMOVE
78
- #pp "-------------------------------------------"
79
- end
53
+ if (!@session_table.has_key?(cookie)||
54
+ !challenged?(token))
55
+
56
+ redirect to(RouteManager.login_route)
57
+
58
+ else
59
+ #raise RestException.new(401,"Not authorized") if !authorized?(cookie,token)
60
+
61
+ halt 401, "Not authorized\n" if !authorized?(cookie,token)
62
+
63
+ end
64
+
65
+ clear_session_table
66
+
67
+ end
68
+
69
+ after %r{^(?!#{RouteManager.login_route}$)} do
70
+
71
+ cookie=request.cookies[COOKIE_TOKEN_ID]
72
+
73
+ @session_table.delete(cookie) if cookie!=nil
74
+
75
+ end
80
76
 
81
- ######### FIXME DELETE #####################
82
- get '/' do
83
- "Hello World"
84
- end
85
77
 
86
- ###############################################
87
- get RouteManager.login_route do
78
+ get RouteManager.login_route do
79
+
88
80
  res = ClientController.send_challenge
89
- #FIXME REMOVE
90
- #puts "LOGIN"
91
-
92
-
93
- #@session_table[res[:cookie]]={:expiration => Time::now.to_i,:challenge=>res[:challenge]}
94
- #pp res[:cookie]
95
81
  @session_table[res[:cookie]]={:expiration => Time::now.to_i+COOKIE_EXPIRATION_TIME,:challenge=>res[:challenge]}
96
- #pp @session_table.inspect
97
-
98
82
  response.set_cookie(COOKIE_TOKEN_ID, res[:cookie])
99
83
  headers "Content_MD5" => res[:challenge]
84
+
100
85
  status 200
101
86
 
102
- #handle_response_result(ClientController.send_challenge)
103
- end
104
-
105
- get RouteManager.box_list_route do
106
- #ClientController.listboxes.to_json
107
- execute(:listboxes)
108
- end
109
-
110
- delete RouteManager.box_delete_route do
111
- #handle_response_result(ClientController.box_delete("params[:box]",params[:provider]))
112
- execute(:box_delete,true,params[:box],params[:provider])
113
- end
114
-
115
- post RouteManager.box_add_route do
116
- execute_async(:box_add,params[:box],params[:url])
117
- end
118
-
119
-
120
-
121
- get RouteManager.vm_status_all_route do
122
- #handle_response_result(ClientController.vm_status(nil))
123
- execute(:vm_status)
124
- end
125
-
126
-
87
+ #handle_response_result(ClientController.send_challenge)
88
+ end
89
+
90
+ get RouteManager.node_info_route do
91
+ execute(:nodeinfo)
92
+ end
127
93
 
128
- get RouteManager.vm_status_route do
129
- #handle_response_result(ClientController.vm_status(params[:vm]))
130
- execute(:vm_status,true,params[:vm])
131
- end
132
-
133
- #accept :vmname as paramter. This parameter
134
- #could be empty
135
- post RouteManager.vm_up_route do
136
- execute_async(:vm_up,params[:vmname])
137
- end
138
-
139
- #accept :vmname and :force as paramters
140
- post RouteManager.vm_halt_route do
141
- #handle_response_result(ClientController.vm_halt(params[:vmname],params[:force]))
142
- execute_async(:vm_halt,params[:vmname],params[:force])
143
- end
94
+ get RouteManager.box_list_route do
95
+ execute(:listboxes)
96
+ end
97
+
98
+ get RouteManager.box_download_route do
99
+ execute(:listdownloadboxes)
100
+ end
101
+
102
+ delete RouteManager.box_download_route do
103
+ execute(:cleardownloadboxes)
104
+ end
105
+
106
+ delete RouteManager.box_delete_route do
107
+ execute(:box_delete,true,params[:box],params[:provider])
108
+ end
109
+
110
+ post RouteManager.box_add_route do
111
+ execute_async(:box_add,params[:box],params[:url])
112
+ end
113
+
114
+
115
+
116
+ get RouteManager.vm_status_all_route do
117
+ #handle_response_result(ClientController.vm_status(nil))
118
+ execute(:vm_status,true,nil,((params[:verbose]==nil || params[:verbose]=="1" || params[:verbose]=="true")?true:false))
119
+
120
+ end
121
+
122
+ get RouteManager.vm_info_route do
123
+ execute(:vm_info,true,params[:vm])
124
+ end
144
125
 
145
- #accept :vmname as paramter. This parameter
146
- #could be empty
147
- post RouteManager.vm_destroy_route do
148
- #handle_response_result(ClientController.vm_confirmed_destroy(params[:vmname]))
149
- execute(:vm_confirmed_destroy,true,params[:vmname])
150
- end
126
+
127
+ get RouteManager.vm_status_route do
128
+ #handle_response_result(ClientController.vm_status(params[:vm]))
129
+ execute(:vm_status,true,params[:vm],((params[:verbose]==nil || params[:verbose]=="1" || params[:verbose]=="true")?true:false))
130
+ end
131
+
132
+ #accept :vmname as paramter. This parameter
133
+ #could be empty
134
+ post RouteManager.vm_up_route do
135
+ execute_async(:vm_up,params[:vmname])
136
+ end
137
+
138
+ #accept :vmname and :force as paramters
139
+ post RouteManager.vm_halt_route do
140
+ #handle_response_result(ClientController.vm_halt(params[:vmname],params[:force])
141
+ execute_async(:vm_halt,params[:vmname],params[:force])
142
+ end
143
+
144
+ #accept :vmname as paramter. This parameter
145
+ #could be empty
146
+ post RouteManager.vm_destroy_route do
147
+ #handle_response_result(ClientController.vm_confirmed_destroy(params[:vmname]))
148
+ execute(:vm_confirmed_destroy,true,params[:vmname])
149
+ end
151
150
 
152
- put RouteManager.vm_add_route do
151
+ put RouteManager.vm_add_route do
153
152
  execute(:vm_add,false,params[:file],params[:rename])
154
- end
153
+ end
155
154
 
156
- delete RouteManager.vm_delete_route do
157
- execute(:vm_delete,false,params[:vm],params[:remove])
158
- end
159
-
160
- #accept :vmname as paramter. This parameter
161
- #could be empty
162
- post RouteManager.vm_suspend_route do
163
- #handle_response_result(ClientController.vm_suspend(params[:vmname]))
164
- execute_async(:vm_suspend,params[:vmname])
165
- end
166
-
167
- #accept :vmname as paramter. This parameter
168
- #could be empty
169
- post RouteManager.vm_resume_route do
170
- #handle_response_result(ClientController.vm_resume(params[:vmname]))
171
- execute_async(:vm_resume,params[:vmname])
172
- end
173
-
174
- post RouteManager.vm_provision_route do
175
- #handle_response_result(ClientController.vm_provision(params[:vmname]))
176
- execute_async(:vm_provision,params[:vmname])
177
- end
178
-
179
-
180
-
181
- get RouteManager.vm_sshconfig_route do
182
- #handle_response_result(ClientController.vm_ssh_config(params[:vm]))
183
- execute(:vm_ssh_config,true,params[:vm])
184
- end
155
+ delete RouteManager.vm_delete_route do
156
+ execute(:vm_delete,false,params[:vm],params[:remove])
157
+ end
185
158
 
186
- get RouteManager.snapshots_all_route do
187
- #handle_response_result(ClientController.vm_snapshots(nil))
188
- execute(:vm_snapshots,true)
189
- end
159
+ #accept :vmname as paramter. This parameter
160
+ #could be empty
161
+ post RouteManager.vm_suspend_route do
162
+ #handle_response_result(ClientController.vm_suspend(params[:vmname]))
163
+ execute_async(:vm_suspend,params[:vmname])
164
+ end
165
+
166
+ #accept :vmname as paramter. This parameter
167
+ #could be empty
168
+ post RouteManager.vm_resume_route do
169
+ #handle_response_result(ClientController.vm_resume(params[:vmname]))
170
+ execute_async(:vm_resume,params[:vmname])
171
+ end
172
+
173
+ post RouteManager.vm_provision_route do
174
+ #handle_response_result(ClientController.vm_provision(params[:vmname]))
175
+ execute_async(:vm_provision,params[:vmname])
176
+ end
177
+
178
+
179
+
180
+ get RouteManager.vm_sshconfig_route do
181
+ #handle_response_result(ClientController.vm_ssh_config(params[:vm]))
182
+ execute(:vm_ssh_config,true,params[:vm])
183
+ end
184
+
185
+ get RouteManager.snapshots_all_route do
186
+ #handle_response_result(ClientController.vm_snapshots(nil))
187
+ execute(:vm_snapshots,true)
188
+ end
190
189
 
191
190
 
191
+
192
+ get RouteManager.vm_snapshots_route do
193
+ #handle_response_result(ClientController.vm_snapshots(params[:vm]))
194
+ execute(:vm_snapshots,true,params[:vm])
195
+ end
196
+
197
+ get RouteManager.vm_snapshot_take_route do
198
+ #result=ClientController.vm_snapshot_take_file(params[:vmname])
199
+ result=execute(:vm_snapshot_take_file,false,params[:vmname])
200
+
192
201
 
193
- get RouteManager.vm_snapshots_route do
194
- #handle_response_result(ClientController.vm_snapshots(params[:vm]))
195
- execute(:vm_snapshots,true,params[:vm])
196
- end
202
+ send_file "#{result[1]}", :filename => result[1],
203
+ :type => 'Application/octet-stream' if result[0]==200 && params[:download]=="true"
204
+
205
+ status result[0]
197
206
 
198
- get RouteManager.vm_snapshot_take_route do
199
- #result=ClientController.vm_snapshot_take_file(params[:vmname])
200
- result=execute(:vm_snapshot_take_file,false,params[:vmname])
201
-
202
-
203
- send_file "#{result[1]}", :filename => result[1],
204
- :type => 'Application/octet-stream' if result[0]==200 && params[:download]=="true"
205
-
206
- status result[0]
207
-
208
- end
207
+ end
209
208
 
210
209
 
211
- post RouteManager.vm_snapshot_take_route do
212
- #handle_response_result(ClientController.vm_snapshot_take(params[:vmname],params[:name],params[:desc]))
213
- execute_async(:vm_snapshot_take,params[:vmname],params[:name],params[:desc])
214
- end
215
-
216
-
217
- post RouteManager.vm_snapshot_restore_route do
218
- #handle_response_result(ClientController.vm_snapshot_restore(params[:vmname],params[:snapid]))
219
- execute_async(:vm_snapshot_restore,params[:vmname],params[:snapid])
220
- end
210
+ post RouteManager.vm_snapshot_take_route do
211
+ #handle_response_result(ClientController.vm_snapshot_take(params[:vmname],params[:name],params[:desc]))
212
+ execute_async(:vm_snapshot_take,params[:vmname],params[:name],params[:desc])
213
+ end
214
+
215
+
216
+ post RouteManager.vm_snapshot_restore_route do
217
+ #handle_response_result(ClientController.vm_snapshot_restore(params[:vmname],params[:snapid]))
218
+ execute_async(:vm_snapshot_restore,params[:vmname],params[:snapid])
219
+ end
221
220
 
222
- delete RouteManager.vm_snapshot_delete_route do
221
+ delete RouteManager.vm_snapshot_delete_route do
223
222
  execute(:vm_snapshot_delete,false,params[:vm],params[:snapid])
224
- end
225
-
223
+ end
226
224
 
227
- get RouteManager.vm_backup_log_route do
228
- #handle_response_result(ClientController.backup_log(params[:vm]))
229
- execute(:backup_log,true,params[:vm])
230
- end
231
225
 
226
+ get RouteManager.vm_backup_log_route do
227
+ #handle_response_result(ClientController.backup_log(params[:vm]))
228
+ execute(:backup_log,true,params[:vm])
229
+ end
230
+
232
231
 
233
232
 
234
- get RouteManager.node_backup_log_route do
235
- #handle_response_result(ClientController.backup_log(nil))
236
- execute(:backup_log,true)
237
- end
233
+ get RouteManager.node_backup_log_route do
234
+ #handle_response_result(ClientController.backup_log(nil))
235
+ execute(:backup_log,true)
236
+ end
238
237
 
239
238
 
240
- get RouteManager.config_show_route do
241
- result= execute(:config_show,false)
242
- #result=ClientController.config_show
243
-
239
+ get RouteManager.config_show_route do
240
+ result= execute(:config_show,false)
241
+ #result=ClientController.config_show
244
242
  send_file(result, :disposition => 'attachment', :filename => result)
245
243
 
246
- end
247
-
248
- post RouteManager.node_password_change_route do
249
- execute(:password_change,false,params[:password])
250
- end
251
-
252
- post RouteManager.config_upload_route do
253
- execute(:config_upload,false,params[:file])
254
- end
255
-
256
- get RouteManager.node_queue_route do
257
- execute(:operation_queued,true,params[:id])
258
- end
244
+ end
259
245
 
260
- get RouteManager.node_queue_last_route do
261
- execute(:operation_queued_last,true)
262
- end
246
+ post RouteManager.node_password_change_route do
247
+ execute(:password_change,false,params[:password])
248
+ end
249
+
250
+ post RouteManager.config_upload_route do
251
+ execute(:config_upload,false,params[:file])
252
+ end
253
+
254
+ get RouteManager.node_queue_route do
255
+ execute(:operation_queued,true,params[:id])
256
+ end
257
+
258
+ get RouteManager.node_queue_last_route do
259
+ execute(:operation_queued_last,true)
260
+ end
263
261
 
264
262
 
265
263
 
266
- private
267
- def clear_session_table
268
- @session_table.delete_if {|key,value| Time::now.to_i >= value[:expiration]}
269
- end
270
-
271
- #FIXME Factorizar estos dos métodos
272
- def execute_async(method,*params)
273
- begin
274
- if params.empty?
275
- result=ClientController.send method.to_sym
276
- else
277
- result=ClientController.send method.to_sym,*params
278
- end
279
-
280
-
281
- #pp result
282
- status 202
283
- body "Location: #{result}"
284
- # body "Location: #{result}".to_json
285
-
286
- rescue => e
287
- #FIXME DELETE PUTS
288
- #puts "EN EXCEPCION"
289
- puts e.class
290
- puts e.message
291
-
292
-
293
- exception = ((e.class==RestException)? e:ExceptionMutator.new(e))
294
-
295
- halt exception.code,exception.message
296
- end
297
-
298
- end
264
+ private
265
+ def clear_session_table
266
+
267
+ @session_table.delete_if {|key,value| Time::now.to_i >= value[:expiration]}
268
+
269
+ end
270
+
271
+ #FIXME Factorizar estos dos métodos
272
+ def execute_async(method,*params)
273
+ begin
274
+
275
+ if params.empty?
276
+ result=ClientController.send method.to_sym
277
+ else
278
+ result=ClientController.send method.to_sym,*params
279
+ end
280
+
281
+
282
+ #pp result
283
+ status 202
284
+ body "Location: #{result}"
285
+ # body "Location: #{result}".to_json
286
+
287
+ rescue => e
288
+ #FIXME DELETE PUTS
289
+ #puts "EN EXCEPCION"
290
+ puts e.class
291
+ puts e.message
292
+
293
+
294
+ exception = ((e.class==RestException)? e:ExceptionMutator.new(e))
295
+
296
+ halt exception.code,exception.message
297
+ end
298
+
299
+ end
299
300
 
300
- #def execute(method,params = {} ,to_json = true)
301
- def execute(method,to_json = true,*params)
302
- begin
303
- if params.empty?
304
- result=ClientController.send method.to_sym
305
- else
306
- result=ClientController.send method.to_sym,*params
307
- end
308
- #puts "TERMINADA LA OPERACION"
301
+ #def execute(method,params = {} ,to_json = true)
302
+ def execute(method,to_json = true,*params)
303
+ begin
304
+
305
+ #raise Vagrant::Errors::VirtualBoxNotDetected
306
+
307
+ if params.empty?
308
+ result=ClientController.send method.to_sym
309
+ else
310
+ result=ClientController.send method.to_sym,*params
311
+ end
309
312
  #puts "A JSON " if to_json
310
313
  #puts "resultado #{result}"
311
314
  return result.to_json if to_json
312
315
  result
313
-
314
- rescue => e
315
- #puts "EN EXCEPCION"
316
- puts e.class
317
- puts e.message
318
-
319
-
320
- exception = ((e.class==RestException)? e:ExceptionMutator.new(e))
321
-
322
- halt exception.code,exception.message
323
- end
324
-
325
- end
316
+
317
+ rescue => e
318
+ #puts "EN EXCEPCION1"
319
+
320
+
321
+ if (e.class==Vagrant::Errors::VirtualBoxNotDetected)
322
+ #puts "******* SE HA GENERADO LA EXCEPCION VIRTUALBOXNOTDETECTED ******"
323
+
324
+
325
+ restart_server
326
+ halt 503,"Node had a problem. Restarting. Try again in a few seconds"
327
+ return
328
+ #env[:machine].provider.driver
329
+ #system("vagrant nodeserver stop;sleep 10;vagrant nodeserver start")
330
+ end
331
+
332
+ puts e.class
333
+ puts e.message
334
+
335
+ exception = ((e.class==RestException)? e:ExceptionMutator.new(e))
336
+
337
+ halt exception.code,exception.message
338
+ end
339
+
340
+ end
326
341
 
342
+
343
+ def restart_server
344
+
345
+ #puts Process.pid
346
+
347
+ # pid = fork do
348
+ # #system( "vagrant nodeserver stop;sleep 10;vagrant nodeserver start" );
349
+ # #system("vagrant nodeserver stop;sleep 10;vagrant nodeserver start")
350
+ # system("sleep 15");
351
+ # end
352
+ # puts "EL PID ES #{pid}"
353
+
354
+ # Process.kill('KILL', 0)
355
+ Process.kill('USR1', 0)
356
+ end
327
357
 
328
358
 
329
- def authorized?(id,token)
330
- @session_table[id][:challenge]
331
- ClientController.authorized?(token,@session_table[id][:challenge]) if @session_table.has_key?(id)
332
- end
333
-
334
- def challenged?(token)
335
- (token!=nil && token.size==32)
336
- end
337
-
338
- end
339
- end
359
+ def authorized?(id,token)
360
+
361
+ @session_table[id][:challenge]
362
+ ClientController.authorized?(token,@session_table[id][:challenge]) if @session_table.has_key?(id)
340
363
  end
341
- end
364
+
365
+ def challenged?(token)
366
+
367
+ (token!=nil && token.size==32)
368
+ end
369
+
370
+ end # API CLASS
371
+
372
+ end #module Vagrant
373
+ end #module Node
374
+ end #module ServerAPI