Skip to content

Commit 27df95b

Browse files
committed
Slight tweak to Ruby measure_manager: if POST body is nil, don't choke on JSON.parse
No implicit conversion of nil into String isn't a good error message
1 parent d9d427b commit 27df95b

1 file changed

Lines changed: 7 additions & 7 deletions

File tree

ruby/engine/measure_manager_server.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def do_POST (request, response)
119119

120120
result = {}
121121

122-
data = JSON.parse(request.body, {:symbolize_names=>true})
122+
data = JSON.parse(request.body || "{}", {:symbolize_names=>true})
123123
my_measures_dir = data[:my_measures_dir]
124124

125125
if my_measures_dir
@@ -132,7 +132,7 @@ def do_POST (request, response)
132132

133133
result = []
134134

135-
data = JSON.parse(request.body, {:symbolize_names=>true})
135+
data = JSON.parse(request.body || "{}", {:symbolize_names=>true})
136136
uid = data[:uid]
137137

138138
if uid
@@ -156,8 +156,8 @@ def do_POST (request, response)
156156

157157
result = []
158158

159-
data = JSON.parse(request.body, {:symbolize_names=>true})
160159
force_reload = false
160+
data = JSON.parse(request.body || "{}", {:symbolize_names=>true})
161161

162162
# loop over all local BCL measures
163163
OpenStudio::LocalBCL.instance.measures.each do |local_measure|
@@ -181,7 +181,7 @@ def do_POST (request, response)
181181

182182
result = []
183183

184-
data = JSON.parse(request.body, {:symbolize_names=>true})
184+
data = JSON.parse(request.body || "{}", {:symbolize_names=>true})
185185
measures_dir = data[:measures_dir] ? data[:measures_dir] : @my_measures_dir
186186
force_reload = data[:force_reload] ? data[:force_reload] : false
187187

@@ -205,7 +205,7 @@ def do_POST (request, response)
205205

206206
when "/compute_arguments"
207207

208-
data = JSON.parse(request.body, {:symbolize_names=>true})
208+
data = JSON.parse(request.body || "{}", {:symbolize_names=>true})
209209
measure_dir = data[:measure_dir ]
210210
osm_path = data[:osm_path]
211211
force_reload = data[:force_reload] ? data[:force_reload] : false
@@ -239,7 +239,7 @@ def do_POST (request, response)
239239

240240
when "/create_measure"
241241

242-
data = JSON.parse(request.body, {:symbolize_names=>true})
242+
data = JSON.parse(request.body || "{}", {:symbolize_names=>true})
243243
measure_dir = data[:measure_dir]
244244

245245
# name = data[:name] # we do not take name as input
@@ -263,7 +263,7 @@ def do_POST (request, response)
263263

264264
when "/duplicate_measure"
265265

266-
data = JSON.parse(request.body, {:symbolize_names=>true})
266+
data = JSON.parse(request.body || "{}", {:symbolize_names=>true})
267267
old_measure_dir = data[:old_measure_dir]
268268
measure_dir = data[:measure_dir]
269269

0 commit comments

Comments
 (0)