From users-return-268528-archive-asf-public=cust-asf.ponee.io@tomcat.apache.org Sat Oct 12 19:46:35 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id BE80F180608 for ; Sat, 12 Oct 2019 21:46:34 +0200 (CEST) Received: (qmail 39923 invoked by uid 500); 12 Oct 2019 19:46:30 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 39900 invoked by uid 99); 12 Oct 2019 19:46:30 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 12 Oct 2019 19:46:30 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 8305C1A420C for ; Sat, 12 Oct 2019 19:46:29 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 4.56 X-Spam-Level: **** X-Spam-Status: No, score=4.56 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_SBL_CSS=3.558, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=disabled Received: from mx1-ec2-va.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 1q9Cfg48G4zn for ; Sat, 12 Oct 2019 19:46:27 +0000 (UTC) Received-SPF: None (mailfrom) identity=mailfrom; client-ip=81.169.162.220; helo=internetallee.de; envelope-from=felix.schumacher@internetallee.de; receiver= Received: from internetallee.de (internetallee.de [81.169.162.220]) by mx1-ec2-va.apache.org (ASF Mail Server at mx1-ec2-va.apache.org) with ESMTPS id D0CD6BC67A for ; Sat, 12 Oct 2019 19:35:57 +0000 (UTC) Received: from [192.168.178.91] (unknown [82.207.253.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by internetallee.de (Postfix) with ESMTPSA id 412622C361ADE for ; Sat, 12 Oct 2019 21:35:50 +0200 (CEST) Subject: Re: efficient redirect map with embedded Tomcat To: users@tomcat.apache.org References: <720d1edd-6dc6-dec1-32a7-ac99a01b159b@globalmentor.com> From: Felix Schumacher Openpgp: preference=signencrypt Autocrypt: addr=felix.schumacher@internetallee.de; keydata= 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 Message-ID: <0f69ba32-2053-868e-1768-4f0c11c424f2@internetallee.de> Date: Sat, 12 Oct 2019 21:35:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US Am 12.10.19 um 17:13 schrieb Garret Wilson: > Could somebody at least point me to the best place to wire in > site-level per-resource redirects in embedded Tomcat? I can create a > solution, I just need to know where it is best to start. Did you look at https://tomcat.apache.org/tomcat-9.0-doc/rewrite.html Felix > > Thanks, > > Garret > > On 10/11/2019 11:06 AM, Garret Wilson wrote: >> This is a question for Tomcat experts before I get started >> implementing a new feature. >> >> Let's say I'm embedding Tomcat to serve static files. At the time of >> creation I know that certain paths, such as `foo/bar.txt`, should >> redirect to other paths, such as `some/other.txt`. What's the best >> way to configure Tomcat to do those redirects? I'm comfortable with >> extending the source code. >> >> Here are a couple of ideas that come to mind: >> >>  * I could create a redirect servlet and map different instances of it >>    to different targets in the context when I configure everything. But >>    in Tomcat's routing engine, is the most efficient way to do things? >>    (I assume that the servlet mappings can be placed "over" the default >>    servlet's path space, that is, cherry-pick paths for redirection, >>    falling back to the default file-serving servlet for non-redirect >>    paths.) >>  * I thought of patching into the default file servlet, overriding >>    `org.apache.catalina.WebResource`, and creating virtual >>    `RedirectResource` resources that don't correspond to any physical >>    file. However it's not obvious to me where I would create a >>    redirect. Maybe throw some redirect exception inside >>    `WebResource.getInputStream()`? (This is probably not correct. I'm >>    just brainstorming. The idea is sound if I knew where to put it.) >>  * Should I install a configured rewrite valve when I'm setting up >>    embedded Tomcat? >>  * Is there some other routing logic in Tomcat I could tap into most >>    efficiently, providing a known set of redirects? >> >> Thanks for any guidance. I'm want to figure out the best way to >> attack this before getting very deep in an implementation. >> >> Garret >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org > For additional commands, e-mail: users-help@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org