<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
	xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

	<!-- The base folder is used to specify the root location of your Gitblit data.
	
			${baseFolder}/gitblit.properties
			${baseFolder}/users.conf
			${baseFolder}/projects.conf
			${baseFolder}/robots.txt
			${baseFolder}/git
			${baseFolder}/groovy
			${baseFolder}/groovy/grape
			${baseFolder}/proposals

		By default, this location is WEB-INF/data.  It is recommended to set this
		path to a location outside your webapps folder that is writable by your
		servlet container.  Gitblit will copy the WEB-INF/data files to that
		location for you when it restarts.  This approach makes upgrading simpler.
		All you have to do is set this parameter for the new release and then
		review the defaults for any new settings.  Settings are always versioned
		with a SINCE x.y.z attribute and also noted in the release changelog.
		-->
	<env-entry>
		<description>The base folder is used to specify the root location of your Gitblit data.</description>
		<env-entry-name>baseFolder</env-entry-name>
		<env-entry-type>java.lang.String</env-entry-type>
		<env-entry-value>${contextFolder}/WEB-INF/data</env-entry-value>
	</env-entry>
	
	<!-- Gitblit Displayname -->
	<display-name>Gitblit - @gb.version@</display-name>

	 
<!-- Gitblit Context Listener --><!-- STRIP	 
	<listener>
 		<listener-class>com.gitblit.servlet.GitblitContext</listener-class>
 	</listener>STRIP --> 	
	
	
	<!-- Git Servlet
		 <url-pattern> MUST match: 
			* GitFilter
			* com.gitblit.Constants.GIT_PATH
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>GitServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.GitServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>GitServlet</servlet-name>		
		<url-pattern>/git/*</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>GitServlet</servlet-name>		
		<url-pattern>/r/*</url-pattern>
	</servlet-mapping>

	
	<!-- SparkleShare Invite Servlet
		 <url-pattern> MUST match: 
			* com.gitblit.Constants.SPARKLESHARE_INVITE_PATH
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>SparkleShareInviteServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.SparkleShareInviteServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>SparkleShareInviteServlet</servlet-name>		
		<url-pattern>/sparkleshare/*</url-pattern>
	</servlet-mapping>

	
	<!-- Syndication Servlet
		 <url-pattern> MUST match: 
			* SyndicationFilter
			* com.gitblit.Constants.SYNDICATION_PATH
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>SyndicationServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.SyndicationServlet</servlet-class>		
	</servlet>
	<servlet-mapping>
		<servlet-name>SyndicationServlet</servlet-name>
		<url-pattern>/feed/*</url-pattern>
	</servlet-mapping>
	
	
	<!-- Zip Servlet
		 <url-pattern> MUST match: 
			* ZipServlet
			* com.gitblit.Constants.ZIP_PATH
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>ZipServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.DownloadZipServlet</servlet-class>		
	</servlet>
	<servlet-mapping>
		<servlet-name>ZipServlet</servlet-name>
		<url-pattern>/zip/*</url-pattern>
	</servlet-mapping>
	
	
	<!-- Federation Servlet
		 <url-pattern> MUST match: 
		 	* com.gitblit.Constants.FEDERATION_PATH		 
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>FederationServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.FederationServlet</servlet-class>		
	</servlet>
	<servlet-mapping>
		<servlet-name>FederationServlet</servlet-name>
		<url-pattern>/federation/*</url-pattern>
	</servlet-mapping>	
	
	
	<!-- Rpc Servlet
		 <url-pattern> MUST match: 
		 	* com.gitblit.Constants.RPC_PATH		 
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>RpcServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.RpcServlet</servlet-class>		
	</servlet>
	<servlet-mapping>
		<servlet-name>RpcServlet</servlet-name>
		<url-pattern>/rpc/*</url-pattern>
	</servlet-mapping>	


	<!-- Raw Servlet
		 <url-pattern> MUST match: 
			* RawFilter
			* com.gitblit.Constants.RAW_PATH
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>RawServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.RawServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>RawServlet</servlet-name>		
		<url-pattern>/raw/*</url-pattern>
	</servlet-mapping>	


	<!-- Pages Servlet
		 <url-pattern> MUST match: 
			* PagesFilter
			* com.gitblit.Constants.PAGES_PATH
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>PagesServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.PagesServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>PagesServlet</servlet-name>		
		<url-pattern>/pages/*</url-pattern>
	</servlet-mapping>	

	
	<!-- Logo Servlet
		 <url-pattern> MUST match: 
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>LogoServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.LogoServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>LogoServlet</servlet-name>		
		<url-pattern>/logo.png</url-pattern>
	</servlet-mapping>


	<!-- PT Servlet
		 <url-pattern> MUST match: 
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>PtServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.PtServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>PtServlet</servlet-name>		
		<url-pattern>/pt</url-pattern>
	</servlet-mapping>


	<!-- Branch Graph Servlet
		 <url-pattern> MUST match: 
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>BranchGraphServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.BranchGraphServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>BranchGraphServlet</servlet-name>		
		<url-pattern>/graph/*</url-pattern>
	</servlet-mapping>

	<!-- Robots.txt Servlet
		 <url-pattern> MUST match: 
			* Wicket Filter ignorePaths parameter -->
	<servlet>
		<servlet-name>RobotsTxtServlet</servlet-name>
		<servlet-class>com.gitblit.servlet.RobotsTxtServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>RobotsTxtServlet</servlet-name>		
		<url-pattern>/robots.txt</url-pattern>
	</servlet-mapping>

    <filter>
		<filter-name>ProxyFilter</filter-name>
		<filter-class>com.gitblit.servlet.ProxyFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>ProxyFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	
	<!-- Git Access Restriction Filter
		 <url-pattern> MUST match: 
			* GitServlet
			* com.gitblit.Constants.GIT_PATH
			* Wicket Filter ignorePaths parameter -->
	<filter>
		<filter-name>GitFilter</filter-name>
		<filter-class>com.gitblit.servlet.GitFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>GitFilter</filter-name>
		<url-pattern>/git/*</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>GitFilter</filter-name>
		<url-pattern>/r/*</url-pattern>
	</filter-mapping>
	
	
	<!-- Syndication Restriction Filter
		 <url-pattern> MUST match: 
			* SyndicationServlet
			* com.gitblit.Constants.SYNDICATION_PATH
			* Wicket Filter ignorePaths parameter -->
	<filter>
		<filter-name>SyndicationFilter</filter-name>
		<filter-class>com.gitblit.servlet.SyndicationFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>SyndicationFilter</filter-name>
		<url-pattern>/feed/*</url-pattern>
	</filter-mapping>
	
	
	<!-- Download Zip Restriction Filter
		 <url-pattern> MUST match: 
			* DownloadZipServlet
			* com.gitblit.Constants.ZIP_PATH
			* Wicket Filter ignorePaths parameter -->
	<filter>
		<filter-name>ZipFilter</filter-name>
		<filter-class>com.gitblit.servlet.DownloadZipFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>ZipFilter</filter-name>
		<url-pattern>/zip/*</url-pattern>
	</filter-mapping>

		
	<!-- Rpc Restriction Filter
		 <url-pattern> MUST match: 
			* RpcServlet
			* com.gitblit.Constants.RPC_PATH
			* Wicket Filter ignorePaths parameter -->
	<filter>
		<filter-name>RpcFilter</filter-name>
		<filter-class>com.gitblit.servlet.RpcFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>RpcFilter</filter-name>
		<url-pattern>/rpc/*</url-pattern>
	</filter-mapping>


	<!-- Branch Restriction Filter
		 <url-pattern> MUST match: 
			* RawServlet
			* com.gitblit.Constants.BRANCH_PATH
			* Wicket Filter ignorePaths parameter -->
	<filter>
		<filter-name>RawFilter</filter-name>
		<filter-class>com.gitblit.servlet.RawFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>RawFilter</filter-name>
		<url-pattern>/raw/*</url-pattern>
	</filter-mapping>
	

	<!-- Pages Restriction Filter
		 <url-pattern> MUST match: 
			* PagesServlet
			* com.gitblit.Constants.PAGES_PATH
			* Wicket Filter ignorePaths parameter -->
	<filter>
		<filter-name>PagesFilter</filter-name>
		<filter-class>com.gitblit.servlet.PagesFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>PagesFilter</filter-name>
		<url-pattern>/pages/*</url-pattern>
	</filter-mapping>
	
	<filter>
		<filter-name>EnforceAuthenticationFilter</filter-name>
		<filter-class>com.gitblit.servlet.EnforceAuthenticationFilter</filter-class>
	</filter>
	<filter-mapping>
        <filter-name>EnforceAuthenticationFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


	<!-- Wicket Filter -->
    <filter>
        <filter-name>wicketFilter</filter-name>
        <filter-class>
            com.gitblit.wicket.GitblitWicketFilter
        </filter-class>        
        <init-param>
            <param-name>ignorePaths</param-name>
            <!-- Paths should match 
             	* SyndicationFilter <url-pattern>
             	* SyndicationServlet <url-pattern>
             	* com.gitblit.Constants.SYNDICATION_PATH
             	* GitFilter <url-pattern>
             	* GitServlet <url-pattern>
             	* com.gitblit.Constants.GIT_PATH
             	* SparkleshareInviteServlet <url-pattern>
             	* com.gitblit.Constants.SPARKLESHARE_INVITE_PATH
             	* Zipfilter <url-pattern>
             	* ZipServlet <url-pattern>
             	* com.gitblit.Constants.ZIP_PATH
             	* FederationServlet <url-pattern>
             	* RpcFilter <url-pattern>
             	* RpcServlet <url-pattern>
             	* RawFilter <url-pattern>
             	* RawServlet <url-pattern>
             	* PagesFilter <url-pattern>
             	* PagesServlet <url-pattern>
             	* com.gitblit.Constants.PAGES_PATH -->
            <param-value>r/,git/,pt,feed/,zip/,federation/,rpc/,raw/,pages/,robots.txt,logo.png,graph/,sparkleshare/</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>wicketFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
</web-app>