Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 24493 invoked from network); 20 Jul 2009 20:27:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 20 Jul 2009 20:27:12 -0000 Received: (qmail 6882 invoked by uid 500); 20 Jul 2009 20:28:17 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 6792 invoked by uid 500); 20 Jul 2009 20:28:17 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 6783 invoked by uid 99); 20 Jul 2009 20:28:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Jul 2009 20:28:17 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of pranavadesai@gmail.com designates 209.85.221.199 as permitted sender) Received: from [209.85.221.199] (HELO mail-qy0-f199.google.com) (209.85.221.199) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Jul 2009 20:28:07 +0000 Received: by qyk37 with SMTP id 37so2071977qyk.10 for ; Mon, 20 Jul 2009 13:27:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=TVFn3buXLFjfdpi6uJkLhEWb/mDng24zoVp9QVGlrqQ=; b=Cbk/Imyn2bhT3gPKTpl/PLtetM8gZzULgBo9e0Fw8+Ao/ofPEsQLM08XjA/lYPv+eP 9dFNYucMnlwdo+Vg0atE6NRSO/U3pUNePLVwfbVJtW0DVyf1X3WviEOGu6nJdGBvzMC0 gFJLPxthjnkiIj3fmDvCji70R0EDjyMPbX0hA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=Kdh4JQ4Vf3c+9XbNbBMDaxlNOrcsr0ge8b5eBzD7ztrN4o48rAAmoLJm8306cf0774 m6efj3I7YLD7oLGiyg0BfrnbVwFBwiVTR+s7kD3Uh50B9sgwtuL8YQDHRgMmI0L7qE8v jJI0DW0Tp1xMRzFqQPkWh41LbGFIVtu2N4618= MIME-Version: 1.0 Received: by 10.231.37.77 with SMTP id w13mr405179ibd.3.1248121666632; Mon, 20 Jul 2009 13:27:46 -0700 (PDT) Date: Mon, 20 Jul 2009 13:27:46 -0700 Message-ID: Subject: Using forward proxy to continue downloading a Range request using mod_disk_cache From: Pranav Desai To: dev@httpd.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Hello All, I am testing with an Apache server 2.2.9 in forward proxy mode (ProxyRequests On). Here is what I am trying to do: * When a client issues a Range request, requesting say 0-x bytes, I would satisfy that request up from the origin server, but would like to continue downloading the response from the origin server and store it in the cache. So that any future range request for the same object would go from the cache. * I am thinking of writing an output_filter (possibly another cache provider for store_body) which will be added when such a request comes in. Another module will strip out the Range headers and forward the request to the origin server. On the response path, continue the processing just like mod_disk_cache's store_body. When that range request is satisfied it will create the EOS bucket in a brigade and pass it along to the core_output_filter, which will then send it to the client and do the essential close routines. The rest of data coming from the origin server will be written to the disk by this filter and nothing passed along to the output_filter chain. Basically I am trying to close the connection on the client-side but continue downloading from the server-side. Is this possible, or does this break the filter chains. Are there any other methods by which I can do this ? Thank you for your time. -- Pranav