Browse Source

server haz storage_directory setting

encrypt 4 years ago
parent
commit
4a1774c5ee
1 changed files with 8 additions and 6 deletions
  1. 8 6
      server/server.rb

+ 8 - 6
server/server.rb

@@ -2,11 +2,13 @@ require 'sinatra'
 require 'securerandom'
 require 'json'
 
+set :storage_directory, './storage/'
+
 # create a room
 
 post '/room' do
   id = SecureRandom.hex(6)
-  Dir.mkdir(id)
+  Dir.mkdir(settings.storage_directory+id)
   content_type 'text/json'
   {id: id}.to_json
 end
@@ -14,9 +16,9 @@ end
 # get room content
 
 get '/room/:id' do |id|
-  if Dir.exist?('./'+id)
+  if Dir.exist?(settings.storage_directory+id)
     content_type 'text/json'
-    Dir.glob('./'+id+'/*').map { |f| File.basename(f)}.to_json
+    Dir.glob(settings.storage_directory+id+'/*').map { |f| File.basename(f)}.to_json
   else
     404
   end
@@ -31,7 +33,7 @@ post '/room/:id' do |id|
     403
     return
   end
-  FileUtils.cp(tmpfile, "./"+id+"/"+name)
+  FileUtils.cp(tmpfile, settings.storage_directory+id+"/"+name)
   200
 end
 
@@ -43,11 +45,11 @@ end
 # get a file
 
 get '/room/:id/:filename' do |id, filename|
-  send_file File.join('./'+id, filename)
+  send_file File.join(settings.storage_directory+id, filename)
 end
 
 # remove a file
 
 delete '/room/:id/:filename' do |id, filename|
-  FileUtils.rm("./"+id+"/"+filename)
+  FileUtils.rm(settings.storage_directory+id+"/"+filename)
 end