📄 mabstractrequesturirule.java
字号:
package net.jumperz.app.MGuardian.rule;
import java.io.*;
import java.net.*;
import net.jumperz.net.*;
import java.util.regex.*;
public abstract class MAbstractRequestUriRule
extends MAbstractRequestRule
{
protected abstract String getTarget( String uri );
//----------------------------------------------------------------------------------
public boolean matches( MHttpRequest request, MResultCache resultCache )
{
String target = getTarget( request.getUri() );
boolean match = false;
Matcher matcher = pattern.matcher( target );
if( matcher.find() )
{
match = true;
}
else
{
try
{
if( MUnicodeUrlDecoder.isUrlDecoded( target ) )
{
target = MUnicodeUrlDecoder.decode( target );
}
else
{
target = URLDecoder.decode( target, MAbstractRequestRule.CHARSET );
}
}
catch( UnsupportedEncodingException e )
{
// will not happen
e.printStackTrace();
match = false;
}
catch( IllegalArgumentException e )
{
// will not happen
e.printStackTrace();
match = false;
}
matcher = pattern.matcher( target );
if( matcher.find() )
{
match = true;
}
}
match = ( match != negationFlag );
resultCache.cacheResult( this, match );
return match;
}
//----------------------------------------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -