Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(142)

Issue 1855044: Refactoring ProxyHandler to also use UriUtils methods (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
15 years, 6 months ago by anupama.dutta
Modified:
15 years, 5 months ago
Reviewers:
johnfargo, gagan.goku, shindig.remailer, dev-remailer, zhoresh
Base URL:
http://svn.apache.org/repos/asf/shindig/trunk
Visibility:
Public.

Description

This patch involves the following changes: - ProxyHandler and AccelHandler use similar code for handling the headers, status codes and rewrite-mime-types. This patch refactors ProxyHandler to use the common code placed in UriUtils for all of the above. The disallowed-headers-list has also been consolidated into UriUtils. - As a side effect of the refactoring, the header names and values will be validated (via the UriUtils method) for the ProxyHandler flow as well. - A bug in the handling of the "rewrite-mime-type" logic has also been fixed here. Earlier the response mime type was only checked for its prefix match with the rewrite mime type upto the "/" marker and not including the "/" marker - this has been fixed now. - Tests have been added for the "rewrite-mime-type" handling.

Patch Set 1 #

Patch Set 2 : Adding ProxyHandlerTest #

Total comments: 4

Patch Set 3 : Adding UriUtilsTest for rewriteContentType method and fixing a bug in the same method #

Patch Set 4 : Merging with submitted changes in head #

Total comments: 4

Patch Set 5 : Addressing Gagan's comments #

Total comments: 2

Patch Set 6 : Addressing TODO comment #

Total comments: 13

Patch Set 7 : Syncing and addressing comments #

Total comments: 2

Patch Set 8 : Syncing again and addressing Gagan's comment #

Patch Set 9 : Adding isValidHeaderValue code and also catching IllegalArgumentException #

Total comments: 6

Patch Set 10 : Addressing nitpicks pointed to by Gagan. Fargo/Ziv, please review. #

Messages

Total messages: 35
anupama.dutta
15 years, 6 months ago (2010-07-17 15:41:20 UTC) #1
anupama.dutta
Adding ProxyHandlerTest
15 years, 6 months ago (2010-07-18 03:51:59 UTC) #2
anupama.dutta
15 years, 6 months ago (2010-07-18 03:53:38 UTC) #3
gagansingh
permission denied. Thanks Gagan On Sun, Jul 18, 2010 at 9:23 AM, <anupama.dutta@gmail.com> wrote: > ...
15 years, 6 months ago (2010-07-18 04:05:38 UTC) #4
anupama.dutta
Changed to Public. Thanks, Anupama. On Sun, Jul 18, 2010 at 9:35 AM, Gagandeep Singh ...
15 years, 6 months ago (2010-07-18 04:07:01 UTC) #5
gagansingh
On 2010/07/18 04:07:01, anupama.dutta wrote: > Changed to Public. > > Thanks, > Anupama. > ...
15 years, 6 months ago (2010-07-18 04:14:34 UTC) #6
anupama.dutta
> > overall looks good. let me go through it again to find any possible ...
15 years, 6 months ago (2010-07-18 04:18:46 UTC) #7
gagansingh
http://codereview.appspot.com/1855044/diff/7001/1006 File java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java (right): http://codereview.appspot.com/1855044/diff/7001/1006#newcode49 java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:49: CACHING_DIRECTIVES(ImmutableSet.of("vary", "expires", "date", "pragma", i hope no 1 is ...
15 years, 6 months ago (2010-07-18 04:26:16 UTC) #8
anupama.dutta
http://codereview.appspot.com/1855044/diff/7001/1006 File java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java (right): http://codereview.appspot.com/1855044/diff/7001/1006#newcode49 java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:49: CACHING_DIRECTIVES(ImmutableSet.of("vary", "expires", "date", "pragma", On 2010/07/18 04:26:16, gagansingh wrote: ...
15 years, 6 months ago (2010-07-18 04:32:23 UTC) #9
gagansingh
Another test case which exposes a probable bug: required = text/* response = text123/html Thanks ...
15 years, 6 months ago (2010-07-18 05:19:41 UTC) #10
anupama.dutta
Adding UriUtilsTest for rewriteContentType method and fixing a bug in the same method
15 years, 6 months ago (2010-07-18 15:21:58 UTC) #11
anupama.dutta
Merging with submitted changes in head
15 years, 6 months ago (2010-07-20 05:44:00 UTC) #12
gagan.goku
lgtm http://codereview.appspot.com/1855044/diff/28001/2002 File java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java (right): http://codereview.appspot.com/1855044/diff/28001/2002#newcode239 java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java:239: .addHeader("Content-Type", "text/html") just add content-length header also and ...
15 years, 6 months ago (2010-07-20 06:40:27 UTC) #13
anupama.dutta
Addressing Gagan's comments
15 years, 5 months ago (2010-07-22 15:07:52 UTC) #14
anupama.dutta
http://codereview.appspot.com/1855044/diff/28001/2002 File java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java (right): http://codereview.appspot.com/1855044/diff/28001/2002#newcode239 java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/ProxyHandlerTest.java:239: .addHeader("Content-Type", "text/html") On 2010/07/20 06:40:27, gagan.goku wrote: > just ...
15 years, 5 months ago (2010-07-22 15:09:58 UTC) #15
anupama.dutta
15 years, 5 months ago (2010-07-22 16:29:09 UTC) #16
gagan.goku
lgtm ++ http://codereview.appspot.com/1855044/diff/38001/39006 File java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java (right): http://codereview.appspot.com/1855044/diff/38001/39006#newcode223 java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:223: response.setContentType(requiredType); please add a comment / log ...
15 years, 5 months ago (2010-07-23 02:03:25 UTC) #17
anupama.dutta
Addressing TODO comment
15 years, 5 months ago (2010-07-23 03:13:16 UTC) #18
anupama.dutta
http://codereview.appspot.com/1855044/diff/38001/39006 File java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java (right): http://codereview.appspot.com/1855044/diff/38001/39006#newcode223 java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:223: response.setContentType(requiredType); On 2010/07/23 02:03:25, gagan.goku wrote: > please add ...
15 years, 5 months ago (2010-07-23 03:14:59 UTC) #19
anupama.dutta
15 years, 5 months ago (2010-07-23 11:50:52 UTC) #20
zhoresh
http://codereview.appspot.com/1855044/diff/45001/46004 File java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyBase.java (left): http://codereview.appspot.com/1855044/diff/45001/46004#oldcode60 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyBase.java:60: "vary", "expires", "date", "pragma", "cache-control", "transfer-encoding", "www-authenticate" Please make ...
15 years, 5 months ago (2010-07-26 18:40:22 UTC) #21
gagan.goku
http://codereview.appspot.com/1855044/diff/45001/46005 File java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java (right): http://codereview.appspot.com/1855044/diff/45001/46005#newcode154 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java:154: IOUtils.copy(results.getResponse(), response.getOutputStream()); On 2010/07/26 18:40:22, zhoresh wrote: > You ...
15 years, 5 months ago (2010-07-26 18:46:46 UTC) #22
gagan.goku
Thanks for the review Ziv. http://codereview.appspot.com/1855044/diff/45001/46004 File java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyBase.java (left): http://codereview.appspot.com/1855044/diff/45001/46004#oldcode60 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyBase.java:60: "vary", "expires", "date", "pragma", ...
15 years, 5 months ago (2010-07-26 18:56:17 UTC) #23
johnfargo
Happy to see logic slowly consolidating. http://codereview.appspot.com/1855044/diff/45001/46005 File java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java (right): http://codereview.appspot.com/1855044/diff/45001/46005#newcode146 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java:146: UriUtils.DisallowedHeaders.CLIENT_STATE_DIRECTIVES); These look ...
15 years, 5 months ago (2010-07-26 21:25:02 UTC) #24
johnfargo
http://codereview.appspot.com/1855044/diff/45001/46006 File java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java (right): http://codereview.appspot.com/1855044/diff/45001/46006#newcode144 java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:144: resp.sendError(HttpResponse.SC_BAD_GATEWAY); do you intend to merge: http://codereview.appspot.com/1811042/diff/54001/55005?context=50&column_width=100 (setStatus vs. ...
15 years, 5 months ago (2010-07-26 21:58:21 UTC) #25
anupama.dutta
Syncing and addressing comments
15 years, 5 months ago (2010-07-28 14:02:53 UTC) #26
anupama.dutta
http://codereview.appspot.com/1855044/diff/45001/46004 File java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyBase.java (left): http://codereview.appspot.com/1855044/diff/45001/46004#oldcode60 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyBase.java:60: "vary", "expires", "date", "pragma", "cache-control", "transfer-encoding", "www-authenticate" On 2010/07/26 ...
15 years, 5 months ago (2010-07-28 14:04:47 UTC) #27
gagan.goku
http://codereview.appspot.com/1855044/diff/58001/55007 File java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java (right): http://codereview.appspot.com/1855044/diff/58001/55007#newcode69 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java:69: @Named("shindig.accelerate.remapInternalServerError") you might not want the naming shindig.accelerate.remapInternalServerError maybe ...
15 years, 5 months ago (2010-07-28 16:40:10 UTC) #28
anupama.dutta
Syncing again and addressing Gagan's comment
15 years, 5 months ago (2010-07-28 17:02:07 UTC) #29
anupama.dutta
http://codereview.appspot.com/1855044/diff/58001/55007 File java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java (right): http://codereview.appspot.com/1855044/diff/58001/55007#newcode69 java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/ProxyHandler.java:69: @Named("shindig.accelerate.remapInternalServerError") On 2010/07/28 16:40:10, gagan.goku wrote: > you might ...
15 years, 5 months ago (2010-07-28 17:03:21 UTC) #30
anupama.dutta
Adding isValidHeaderValue code and also catching IllegalArgumentException
15 years, 5 months ago (2010-07-29 15:26:29 UTC) #31
gagan.goku
LGTM++++++++++ ps: very small nitpicks. http://codereview.appspot.com/1855044/diff/67001/63010 File java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java (right): http://codereview.appspot.com/1855044/diff/67001/63010#newcode79 java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:79: * NOTE: RFC 822 ...
15 years, 5 months ago (2010-07-29 17:49:08 UTC) #32
anupama.dutta
Addressing nitpicks pointed to by Gagan. Fargo/Ziv, please review.
15 years, 5 months ago (2010-07-29 18:02:39 UTC) #33
anupama.dutta
http://codereview.appspot.com/1855044/diff/67001/63010 File java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java (right): http://codereview.appspot.com/1855044/diff/67001/63010#newcode79 java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:79: * NOTE: RFC 822 section 3.1.2 describes the structure ...
15 years, 5 months ago (2010-07-29 18:03:22 UTC) #34
johnfargo
15 years, 5 months ago (2010-08-02 23:14:14 UTC) #35
LGTM, committed as r981703.

On 2010/07/29 18:03:22, anupama.dutta wrote:
> http://codereview.appspot.com/1855044/diff/67001/63010
> File java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java
> (right):
> 
> http://codereview.appspot.com/1855044/diff/67001/63010#newcode79
> java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:79: *
> NOTE: RFC 822 section 3.1.2 describes the structure of header fields.
> On 2010/07/29 17:49:09, gagan.goku wrote:
> > Would be awesome if you could a 1 line english description of what values
are
> > allowed, like "all printable ascii characters other than : are allowed".
> 
> Done.
> 
> http://codereview.appspot.com/1855044/diff/67001/63010#newcode101
> java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:101: *
> @param val The header value.
> On 2010/07/29 17:49:09, gagan.goku wrote:
> > Would be awesome if you could a 1 line english description of what values
are
> > allowed, like "all ascii characters other than CR and LF are allowed".
> 
> Done.
> 
> http://codereview.appspot.com/1855044/diff/67001/63010#newcode158
> java/gadgets/src/main/java/org/apache/shindig/gadgets/uri/UriUtils.java:158:
> LOG.info("Skipping illegal header:  " + entry.getKey() + ":" +
> entry.getValue());
> On 2010/07/29 17:49:09, gagan.goku wrote:
> > LOG.warning ?
> 
> Done.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b