| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <j:jelly |
| xmlns:j="jelly:core" |
| xmlns="jelly:jetty" |
| xmlns:http="jelly:http" |
| trim="false"> |
| |
| <j:set var="contextPathVar" value="/resourceHandlerTest"/> |
| <j:set var="testPort1" value="8100"/> |
| <j:set var="testPort2" value="8200"/> |
| <j:set var="testUri1" value="http://localhost:${testPort1}${contextPathVar}/resourceHandlerTest.txt"/> |
| <j:set var="testUri2" value="http://localhost:${testPort2}${contextPathVar}/resourceHandlerTest.txt"/> |
| |
| <jettyHttpServer var="httpServerNoOp"> |
| <socketListener port="${testPort1}"/> |
| <httpContext contextPath="${contextPathVar}" resourceBase="./docRoot/resourceHandlerTest"> |
| <jellyResourceHandler/> |
| </httpContext> |
| </jettyHttpServer> |
| |
| <jettyHttpServer var="httpServerOp"> |
| <socketListener port="${testPort2}"/> |
| <httpContext contextPath="${contextPathVar}" resourceBase="./docRoot/resourceHandlerTest"> |
| <jellyResourceHandler> |
| |
| <getRequest> |
| <j:set var="new.content.type" value="text/plain"/> |
| <j:set var="new.location" value="new location"/> |
| |
| <responseHeader name="Content-Type" value="${new.content.type}"/> |
| <responseHeader name="Location" value="${new.location}"/> |
| <responseBody> |
| It works! |
| </responseBody> |
| |
| </getRequest> |
| |
| </jellyResourceHandler> |
| </httpContext> |
| </jettyHttpServer> |
| |
| <http:get var="mtc1" uri="${testUri1}"/> |
| <j:choose> |
| <j:when test="${mtc1.statusCode == 404}"> |
| <http:get var="mtc2" uri="${testUri2}"/> |
| <j:choose> |
| <j:when test="${mtc2.statusCode == 200}"> |
| It works! |
| </j:when> |
| <j:otherwise> |
| Results for mtc2 url are: |
| http return code = ${mtc2.statusCode} |
| http status text = '${mtc2.statusText}' |
| Content-Type = ${mtc2.getResponseHeader("Content-Type")} |
| Location = ${mtc2.getResponseHeader("Location")} |
| </j:otherwise> |
| </j:choose> |
| </j:when> |
| |
| <j:otherwise> |
| Results for mtc1 url are: |
| http return code = ${mtc1.statusCode} |
| http status text = '${mtc1.statusText}' |
| </j:otherwise> |
| </j:choose> |
| |
| ${httpServerNoOp.stop(false)} |
| ${httpServerOp.stop(false)} |
| |
| </j:jelly> |