diff options
Diffstat (limited to 'lib/overwrite.rb')
-rw-r--r-- | lib/overwrite.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/overwrite.rb b/lib/overwrite.rb new file mode 100644 index 0000000..1d0161b --- /dev/null +++ b/lib/overwrite.rb @@ -0,0 +1,14 @@ +# class overwrites aka monkey patches +# hack: store sinatra in global var to make url_for and halt methods accessible +before{ $sinatra = self unless $sinatra } + +class Sinatra::Base + # overwriting halt to log halts (!= 202) + def halt(*response) + LOGGER.error "halt "+response.first.to_s+" "+(response.size>1 ? response[1].to_s : "") if response and response.first and response.first >= 300 + # orig sinatra code: + response = response.first if response.length == 1 + throw :halt, response + end +end + |