Skip to content

Commit

Permalink
Merge pull request #7 from xss-stage/engine
Browse files Browse the repository at this point in the history
  • Loading branch information
devxb committed May 23, 2023
2 parents 9ea7c9d + 1515cde commit f73b360
Show file tree
Hide file tree
Showing 36 changed files with 257 additions and 9 deletions.
15 changes: 15 additions & 0 deletions .idea/checkstyle-idea.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/jpa-buddy.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file.
Empty file.
6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

96 changes: 96 additions & 0 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/xss-core.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Binary file modified xss-core/.gradle/7.3.3/executionHistory/executionHistory.bin
Binary file not shown.
Binary file modified xss-core/.gradle/7.3.3/executionHistory/executionHistory.lock
Binary file not shown.
Binary file modified xss-core/.gradle/7.3.3/fileHashes/fileHashes.bin
Binary file not shown.
Binary file modified xss-core/.gradle/7.3.3/fileHashes/fileHashes.lock
Binary file not shown.
Binary file modified xss-core/.gradle/7.3.3/fileHashes/resourceHashesCache.bin
Binary file not shown.
Binary file modified xss-core/.gradle/buildOutputCleanup/buildOutputCleanup.lock
Binary file not shown.
Binary file modified xss-core/.gradle/file-system.probe
Binary file not shown.
Empty file.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file.
Empty file.
23 changes: 23 additions & 0 deletions xss-core/.idea/sonarlint/issuestore/index.pb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions xss-core/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ plugins {
}

group = 'com.github.xss-stage'
version '1.2'
version '1.2.1'

sourceCompatibility = 1.8
targetCompatibility = 1.8
Expand Down Expand Up @@ -50,4 +50,4 @@ publishing {
wrapper {
gradleVersion = "7.3.3"
distributionType = Wrapper.DistributionType.ALL
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.stage.xss.core.XssFilterAop;
import org.stage.xss.core.engine.aop.XssFilterAopEngine;
import org.stage.xss.core.spi.XssFilter;

@Configuration
Expand All @@ -14,8 +14,8 @@ public class XssStageConfigurer{
List<XssFilter> xssFilterList;

@Bean
public XssFilterAop xssFilterAop(){
return new XssFilterAop(xssFilterList);
public XssFilterAopEngine xssFilterAop(){
return new XssFilterAopEngine(xssFilterList);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package org.stage.xss.core.engine;

/**
* {@link org.stage.xss.core.spi.XssFilter} 구현체들을 파라미터에 적용하는 역할을 한다.
*
* @param <T> XssStageEngine 구현체의 메소드가 반환하는 타입이다.
* @param <P> XssStageEngine 구헨체가 받는 파라미터 값이다.
*
* @since 2.0
* @author devxb
*/
public interface XssStageEngine<T, P>{

/**
* 어떠한, Xss filtering이 필요한 파라미터를 받아 Xss safe한 상태를 반환한다.
*
* @param parameter 이 파라미터는 Xss filtering 대상인 어떤것이다.
* @return Xss safe한 상태를 반환한다.
*
* @since 2.0
*/
T doFiltering(P parameter) throws Throwable;

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.stage.xss.core;
package org.stage.xss.core.engine.aop;

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
Expand All @@ -7,16 +7,17 @@
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.stage.xss.core.engine.XssStageEngine;
import org.stage.xss.core.exception.UnknownXssFilterName;
import org.stage.xss.core.meta.Xss;
import org.stage.xss.core.spi.XssFilter;

@Aspect
public class XssFilterAop{
public class XssFilterAopEngine implements XssStageEngine<Object, ProceedingJoinPoint>{

private final List<XssFilter> xssFilters;

public XssFilterAop(List<XssFilter> xssFilters){
public XssFilterAopEngine(List<XssFilter> xssFilters){
this.xssFilters = xssFilters;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.stage.xss.core.config.XssStageConfigurer;
import org.stage.xss.core.engine.aop.XssFilterAopEngine;
import org.stage.xss.core.exception.UnknownXssFilterName;
import org.stage.xss.core.spi.TestXssFilter;

Expand All @@ -22,7 +23,7 @@
class XssFilterAopReigsterTest{

@Autowired
private XssFilterAop xssFilterAop;
private XssFilterAopEngine xssFilterAop;

@Test
@DisplayName("Xss Filtering 파라미터 한개 성공 테스트")
Expand Down

0 comments on commit f73b360

Please sign in to comment.