Source:
<code>public void handleRequest(Conveyor conv) throws GeoWebCacheException { ConveyorTile tile = (ConveyorTile) conv; String servletPrefix=null; if (controller!=null) servletPrefix=controller.getServletPrefix(); String servletBase = ServletUtils.getServletBaseURL(conv.servletReq, servletPrefix); String context = ServletUtils.getServletContextPath(conv.servletReq, SERVICE_PATH, servletPrefix); if (tile.getHint() != null) { if (tile.getHint().equalsIgnoreCase("getcapabilities")) { <START> WMSGetCapabilities wmsCap = new WMSGetCapabilities(tld, tile.servletReq, servletBase, context, urlMangler); <END> wmsCap.writeResponse(tile.servletResp); } else if (tile.getHint().equalsIgnoreCase("getmap")) { securityDispatcher.checkSecurity(tile); WMSTileFuser wmsFuser = getFuser(tile.servletReq); try { wmsFuser.writeResponse(tile.servletResp, stats); } catch (SecurityException e) { throw e; } catch (Exception e) { e.printStackTrace(); } } else if (tile.getHint().equalsIgnoreCase("getfeatureinfo")) { securityDispatcher.checkSecurity(tile); handleGetFeatureInfo(tile); } else { securityDispatcher.checkSecurity(tile); checkProxyRequest(tile.getHint()); TileLayer tl = tld.getTileLayer(tile.getLayerId()); if(tl == null) { throw new GeoWebCacheException(tile.getLayerId() + " is unknown."); } if(tl instanceof ProxyLayer) { ((ProxyLayer) tl).proxyRequest(tile); } else { throw new GeoWebCacheException(tile.getLayerId() + " cannot cascade WMS requests."); } } } else { throw new GeoWebCacheException("The WMS Service would love to help, " + "but has no idea what you're trying to do?" + "Please include request URL if you file a bug report."); } }</code><technical_language>security for getCapabilities</technical_language>

Target:
public void handleRequest(Conveyor conv) throws GeoWebCacheException { ConveyorTile tile = (ConveyorTile) conv; String servletPrefix=null; if (controller!=null) servletPrefix=controller.getServletPrefix(); String servletBase = ServletUtils.getServletBaseURL(conv.servletReq, servletPrefix); String context = ServletUtils.getServletContextPath(conv.servletReq, SERVICE_PATH, servletPrefix); if (tile.getHint() != null) { if (tile.getHint().equalsIgnoreCase("getcapabilities")) { WMSGetCapabilities wmsCap = new WMSGetCapabilities(tld, tile.servletReq, servletBase, context, urlMangler); wmsCap.writeResponse(tile.servletResp); } else if (tile.getHint().equalsIgnoreCase("getmap")) { getSecurityDispatcher().checkSecurity(tile); WMSTileFuser wmsFuser = getFuser(tile.servletReq); try { wmsFuser.writeResponse(tile.servletResp, stats); } catch (SecurityException e) { throw e; } catch (Exception e) { e.printStackTrace(); } } else if (tile.getHint().equalsIgnoreCase("getfeatureinfo")) { getSecurityDispatcher().checkSecurity(tile); handleGetFeatureInfo(tile); } else { getSecurityDispatcher().checkSecurity(tile); checkProxyRequest(tile.getHint()); TileLayer tl = tld.getTileLayer(tile.getLayerId()); if(tl == null) { throw new GeoWebCacheException(tile.getLayerId() + " is unknown."); } if(tl instanceof ProxyLayer) { ((ProxyLayer) tl).proxyRequest(tile); } else { throw new GeoWebCacheException(tile.getLayerId() + " cannot cascade WMS requests."); } } } else { throw new GeoWebCacheException("The WMS Service would love to help, " + "but has no idea what you're trying to do?" + "Please include request URL if you file a bug report."); } }