Mercurial Hosting > nabble
view src/global/UrlMapperImpl.java @ 23:e424dc827823
minor
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 14 Jun 2020 15:44:42 -0600 |
parents | 02b2fdfc07e2 |
children |
line wrap: on
line source
package global; import java.util.Collections; import java.util.Map; import java.util.HashMap; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import fschmidt.util.servlet.UrlMapper; import fschmidt.util.servlet.UrlMapping; enum UrlMapperImpl implements UrlMapper { INSTANCE; private static final Pattern ROOT_FORUMS_PATTERN = Pattern.compile("/free-apps/page(\\d+)\\.html$"); public UrlMapping getUrlMapping(HttpServletRequest request) { String path = request.getServletPath(); if( path.equals("/") ) return new UrlMapping( global.web.Index.class, Collections.<String,String[]>emptyMap() ); if( path.equals("/tools/") ) return new UrlMapping( global.web.tools.Index.class, Collections.<String,String[]>emptyMap() ); Matcher m = ROOT_FORUMS_PATTERN.matcher(path); if( m.find() ) { Map<String,String[]> params = new HashMap<String,String[]>(); String s = m.group(1); if( s != null ) params.put( "page", new String[]{s} ); return new UrlMapping( global.web.RootForums.class, params ); } if( path.equals("/sitemap.txt") ) return new UrlMapping( global.web.Sitemap.class, Collections.<String,String[]>emptyMap() ); if( path.equals("/ads.txt") ) return new UrlMapping( global.web.Ads.class, Collections.<String,String[]>emptyMap() ); return null; } }