diff options
| author | Brice Figureau <brice-puppet@daysofwonder.com> | 2010-04-10 16:30:03 +0200 |
|---|---|---|
| committer | test branch <puppet-dev@googlegroups.com> | 2010-02-17 06:50:53 -0800 |
| commit | ee5d7f196fa62046f8fc3d3d723da608b17ce531 (patch) | |
| tree | aa92df8067b573167034d62e08c6dbe4c0d35b47 /spec/unit/network/http/mongrel | |
| parent | 63c122f397c915cb1bec1a645958c808da92dce4 (diff) | |
| download | puppet-ee5d7f196fa62046f8fc3d3d723da608b17ce531.tar.gz puppet-ee5d7f196fa62046f8fc3d3d723da608b17ce531.tar.xz puppet-ee5d7f196fa62046f8fc3d3d723da608b17ce531.zip | |
Add master side file content streaming
This patch allows the puppetmaster to serve file chunks by chunks without
ever reading the file content in RAM.
This allows serving large files directly with the master without impacting
the master memory footprint.
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'spec/unit/network/http/mongrel')
| -rwxr-xr-x | spec/unit/network/http/mongrel/rest.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/unit/network/http/mongrel/rest.rb b/spec/unit/network/http/mongrel/rest.rb index fb7e7e57d..55b6172d3 100755 --- a/spec/unit/network/http/mongrel/rest.rb +++ b/spec/unit/network/http/mongrel/rest.rb @@ -81,6 +81,23 @@ describe "Puppet::Network::HTTP::MongrelREST" do @handler.set_response(@response, "mybody", 200) end + describe "when the result is a File" do + it "should use response send_file" do + head = mock 'head' + body = mock 'body' + stat = stub 'stat', :size => 100 + file = stub 'file', :stat => stat, :path => "/tmp/path" + file.stubs(:is_a?).with(File).returns(true) + + @response.expects(:start).with(200).yields(head, body) + @response.expects(:send_status).with(100) + @response.expects(:send_header) + @response.expects(:send_file).with("/tmp/path") + + @handler.set_response(@response, file, 200) + end + end + it "should set the status and reason and write the body when setting the response for a successful request" do head = mock 'head' body = mock 'body' |
