diff options
| author | mo khan <mo.khan@gmail.com> | 2020-11-21 15:17:45 -0700 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-11-21 15:17:45 -0700 |
| commit | 67e9ec15258258291610d8933a1c801151f56e69 (patch) | |
| tree | 068d0fdd5dc68a544d809e5018066d887e58e30e | |
| parent | 3ada0a4e55b56002a2492cf893034f074347a923 (diff) | |
refactor: pass request body io as parameter to put
| -rw-r--r-- | server-rack.rb | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/server-rack.rb b/server-rack.rb index 3d4642b..9c768e5 100644 --- a/server-rack.rb +++ b/server-rack.rb @@ -30,8 +30,8 @@ class DataStorageServer end end - def put(env) - data = env['rack.input'].read(MAX_BYTES) + def put(io) + data = io.read(MAX_BYTES) oid = Digest::SHA1.hexdigest(data) @storage[oid] = data ['201', {}, [JSON.generate({ size: data.size, oid: oid })]] @@ -48,14 +48,13 @@ class DataStorageServer end def call(env) - path = env['PATH_INFO'] case env['REQUEST_METHOD'] when 'GET' - get(path) + get(env['PATH_INFO']) when 'PUT' - put(env) + put(env['rack.input']) when 'DELETE' - destroy(path) + destroy(env['PATH_INFO']) else raise env.inspect end |
