/** * {@inheritDoc} */ @Override public String getRequestURI() { return status.getUri(); }
/** * {@inheritDoc} */ @Override public StringBuilder getRequestURL() { StringBuilder url = new StringBuilder(); url.append(getScheme()).append("://").append(getHost()); int port = getServerPort(); if (port != HTTP_PORT && port != HTTPS_PORT) { url.append(':').append(port); } url.append(status.getUri()); return url; }
@Test public void shouldParseStatusString() throws MalformedInputException { Parser<RequestStatus> requestStatusParser = new RequestStatusParser(); RequestStatus requestStatus = requestStatusParser.parse("GET /home?param1=ABC¶m2=123 HTTP/1.1"); assertThat(requestStatus.getMethod(), is("GET")); assertThat(requestStatus.getQueryString(), is("param1=ABC¶m2=123")); assertThat(requestStatus.getUri(), is("/home")); assertThat(requestStatus.getProtocol(), is("HTTP/1.1")); }
assertThat((List<String>) (Collections.list(httpServletRequestImpl.getAttributeNames())), hasSize(0)); assertThat(httpServletRequestImpl.getRequestURI(), is(requestStatus.getUri())); assertThat(httpServletRequestImpl.getQueryString(), is(requestStatus.getQueryString())); assertThat(httpServletRequestImpl.getRequestedSessionId(), is(nullValue()));
@Test public void shouldIgnoreTrailingCharacters() throws MalformedInputException { Parser<RequestStatus> requestStatusParser = new RequestStatusParser(); RequestStatus requestStatus = requestStatusParser.parse("GET /home?param1=ABC¶m2=123 HTTP/1.1\r\n"); assertThat(requestStatus.getMethod(), is("GET")); assertThat(requestStatus.getQueryString(), is("param1=ABC¶m2=123")); assertThat(requestStatus.getUri(), is("/home")); assertThat(requestStatus.getProtocol(), is("HTTP/1.1")); }
int uriLengthExceededWith = status.getUri().length() - URI_MAX_LENGTH; if (uriLengthExceededWith > 0) { throw new UriTooLongProtocolException("Uri length exceeded max length with" .withInputStream(in) .withStatus(status) .withPathTranslated(status.getUri()) // TODO There is no way to make it work under Android .withPathInfo("") .withRemoteUser(null)