diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/network/http/handler.rb | 14 | ||||
-rw-r--r-- | lib/puppet/network/http/mongrel/rest.rb | 1 | ||||
-rw-r--r-- | lib/puppet/network/http/webrick/rest.rb | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/lib/puppet/network/http/handler.rb b/lib/puppet/network/http/handler.rb index 9b21946c7..2a537c767 100644 --- a/lib/puppet/network/http/handler.rb +++ b/lib/puppet/network/http/handler.rb @@ -20,25 +20,31 @@ class Puppet::Network::HTTP::Handler def do_find(request, response) key = request_key(request) || raise(ArgumentError, "Could not locate lookup key in request path [#{path}]") args = params(request) - encode_result(request, response, @model.find(key, args)) + result = @model.find(key, args).to_yaml + encode_result(request, response, result) end def do_search(request, response) args = params(request) - encode_result(request, response, @model.search(args)) + result = @model.search(args).collect {|obj| obj.to_yaml } + encode_result(request, response, result) + end def do_destroy(request, response) key = request_key(request) || raise(ArgumentError, "Could not locate lookup key in request path [#{path}]") args = params(request) - encode_result(request, response, @model.destroy(key, args)) + result = @model.destroy(key, args) + encode_result(request, response, YAML.dump(result)) end def do_save(request, response) data = body(request) raise ArgumentError, "No data to save" if !data or data.empty? args = params(request) - encode_result(request, response, @model.new.save(args.merge(:data => data))) + obj = @model.new + result = obj.save(args.merge(:data => data)).to_yaml + encode_result(request, response, result) end def find_model_for_handler(handler) diff --git a/lib/puppet/network/http/mongrel/rest.rb b/lib/puppet/network/http/mongrel/rest.rb index 0d29a822e..f22b4c4c9 100644 --- a/lib/puppet/network/http/mongrel/rest.rb +++ b/lib/puppet/network/http/mongrel/rest.rb @@ -31,6 +31,7 @@ class Puppet::Network::HTTP::MongrelREST < Puppet::Network::HTTP::Handler def encode_result(request, response, result) response.start(200) do |head, body| + body.write(result) end end end diff --git a/lib/puppet/network/http/webrick/rest.rb b/lib/puppet/network/http/webrick/rest.rb index d30f9318b..8782df14f 100644 --- a/lib/puppet/network/http/webrick/rest.rb +++ b/lib/puppet/network/http/webrick/rest.rb @@ -36,5 +36,6 @@ class Puppet::Network::HTTP::WEBrickREST < Puppet::Network::HTTP::Handler def encode_result(request, response, result) response.status = 200 + response.body = result end end
\ No newline at end of file |