You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by je...@apache.org on 2019/09/05 17:27:16 UTC
[sling-whiteboard] branch master updated: Adding post method and
renaming some methods for consistency
This is an automated email from the ASF dual-hosted git repository.
jeb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git
The following commit(s) were added to refs/heads/master by this push:
new 33ca9ed Adding post method and renaming some methods for consistency
33ca9ed is described below
commit 33ca9ed64150b2ee943e08f70b6997d5f5b0433f
Author: JE Bailey <je...@apache.org>
AuthorDate: Wed Sep 4 11:18:47 2019 -0400
Adding post method and renaming some methods for consistency
---
.../sling/transformer/TransformationContext.java | 2 +-
.../sling/transformer/TransformationStep.java | 4 ++--
.../sling/transformer/impl/NonceTransformer.java | 6 +++---
.../impl/TransformationContextImpl.java | 4 ++--
.../transformer/impl/TransformationFilter.java | 25 ++++++++++------------
.../impl/TransformationManagerImpl.java | 6 ++++++
.../impl/TransformationStepWrapper.java | 2 +-
7 files changed, 26 insertions(+), 23 deletions(-)
diff --git a/transformer/src/main/java/org/apache/sling/transformer/TransformationContext.java b/transformer/src/main/java/org/apache/sling/transformer/TransformationContext.java
index 471cdb4..261840d 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/TransformationContext.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/TransformationContext.java
@@ -56,7 +56,7 @@ public interface TransformationContext {
*
* @param elements
*/
- void doNext(HtmlElement... elements);
+ void doNextStep(HtmlElement... elements);
/**
* Html Elements that were identified as being processed in the next step
diff --git a/transformer/src/main/java/org/apache/sling/transformer/TransformationStep.java b/transformer/src/main/java/org/apache/sling/transformer/TransformationStep.java
index aac7e3d..eb4b23d 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/TransformationStep.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/TransformationStep.java
@@ -39,10 +39,10 @@ public interface TransformationStep {
* @param element
* @param context
*/
- public void handle(HtmlElement element, TransformationContext context);
+ public void step(HtmlElement element, TransformationContext context);
/**
- * Called after all transformations have occurred but before a flush has been
+ * Called after all steps have occurred but before a flush has been
* triggered
*
* @param context
diff --git a/transformer/src/main/java/org/apache/sling/transformer/impl/NonceTransformer.java b/transformer/src/main/java/org/apache/sling/transformer/impl/NonceTransformer.java
index 2ff9cb5..db9c07d 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/impl/NonceTransformer.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/impl/NonceTransformer.java
@@ -35,10 +35,10 @@ public class NonceTransformer implements TransformationStep {
public void before(TransformationContext context) {
String nonce = UUID.randomUUID().toString().replace("-", "");
context.getState().put(NONCE, nonce);
- context.getResponse().setHeader("X-nonce", nonce);
+ context.getResponse().setHeader("Content-Security-Policy","object-src 'none'; script-src 'nonce-"+nonce+"' 'strict-dynamic' 'unsafe-eval'");
}
- public void handle(HtmlElement element, TransformationContext context) {
+ public void step(HtmlElement element, TransformationContext context) {
Map<String, Object> state = context.getState();
String nonce = (String)state.get(NONCE);
@@ -49,7 +49,7 @@ public class NonceTransformer implements TransformationStep {
}
}
- context.doNext(element);
+ context.doNextStep(element);
}
}
diff --git a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationContextImpl.java b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationContextImpl.java
index 323c503..65bbca8 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationContextImpl.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationContextImpl.java
@@ -59,7 +59,7 @@ public class TransformationContextImpl implements TransformationContext {
* the accept method of the consumer so that they may be passed on to the next
* process.
*/
- public void doNext(HtmlElement... elements) {
+ public void doNextStep(HtmlElement... elements) {
if (reset) {
list.clear();
reset = false;
@@ -67,7 +67,7 @@ public class TransformationContextImpl implements TransformationContext {
Collections.addAll(list, elements);
}
- public void next(String html) {
+ public void doNextStep(String html) {
if (reset) {
list.clear();
reset = false;
diff --git a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationFilter.java b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationFilter.java
index dadcb96..9d4aed9 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationFilter.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationFilter.java
@@ -40,7 +40,8 @@ import org.osgi.service.component.annotations.Reference;
*
*/
@Component(service = Filter.class, property = { Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
- "sling.filter.scope=request", "sling.filter.scope=error", Constants.SERVICE_RANKING + ":Integer="+Integer.MIN_VALUE })
+ "sling.filter.scope=request", "sling.filter.scope=error",
+ Constants.SERVICE_RANKING + ":Integer=" + Integer.MIN_VALUE })
public class TransformationFilter implements Filter {
@Reference
@@ -72,25 +73,21 @@ public class TransformationFilter implements Filter {
if (!(request instanceof SlingHttpServletRequest)) {
throw new ServletException("Request is not a Apache Sling HTTP request.");
}
-
+
final SlingHttpServletRequest slingRequest = (SlingHttpServletRequest) request;
final SlingHttpServletResponse slingResponse = (SlingHttpServletResponse) response;
-
+
List<TransformationStep> steps = manager.getSteps(slingRequest);
-
- if (!steps.isEmpty()){
+
+ if (!steps.isEmpty()) {
TransformationContext context = new TransformationContextImpl(slingRequest, slingResponse, steps);
- steps.forEach(transformer ->
- transformer.before(context)
- );
+ steps.forEach(transformer -> transformer.before(context));
response = new TransformationResponse(context);
- }
-
- chain.doFilter(request, response);
-
- if (!steps.isEmpty()){
+ chain.doFilter(request, response);
+ steps.forEach(transformer -> transformer.after(context));
response.flushBuffer();
+ } else {
+ chain.doFilter(request, response);
}
-
}
}
diff --git a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationManagerImpl.java b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationManagerImpl.java
index 9de78e9..acbefd4 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationManagerImpl.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationManagerImpl.java
@@ -73,6 +73,12 @@ public class TransformationManagerImpl implements TransformationManager {
return false;
}
break;
+ case TransformationConstants.EXTENSIONS:
+ String extension = (String) properties.get(key);
+ if (!request.getRequestURI().endsWith(extension)) {
+ return false;
+ }
+ break;
default:
}
diff --git a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationStepWrapper.java b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationStepWrapper.java
index c22bb93..479fa6c 100644
--- a/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationStepWrapper.java
+++ b/transformer/src/main/java/org/apache/sling/transformer/impl/TransformationStepWrapper.java
@@ -40,7 +40,7 @@ public class TransformationStepWrapper implements Function<HtmlElement, Stream<H
@Override
public Stream<HtmlElement> apply(HtmlElement element) {
- tStep.handle(element, transformationContext);
+ tStep.step(element, transformationContext);
return transformationContext.getElements();
}