2017-11-15 5 views
1

Ich versuche, Standard-sendredirect-Funktionalität in AEM zu überschreiben.Ändern von slinghttpresponse durch Wrapper

Ich möchte auf https URLs von meinem Server umleiten.

Für dasselbe habe ich einen Schlingenfilter implementiert. Implementierte SlingHttpServletResponseWrapper-Klasse und überschriebene sendredirect-Funktion.

jedoch in Filter bei dem Versuch, auf

final SlingHttpServletResponse slingResponse = (ModifyLocResponse) response;

Zur Laufzeit bekomme ich

org.apache.sling.security.impl.ContentDispositionFilter $ RewriterResponse zu com.adobe.acs.samples.filters.wrappers.ModifyLocResponse gegossen werden kann nicht

+0

Fügen Sie den Code für 'ModifyLocResponse' und den Filter, wo Sie ihn verwenden, hinzu. – Abhishek

Antwort

1

Statt Gießen, versuchen, es so etwas wie dieses Instanziierung:

final SlingHttpServletResponse slingResponse = new ModifyLocResponse(response); 

natürlich müssen Sie den Konstruktor für diese Klasse, um sicherzustellen, dieses Muster zu hat:

class ModifyLocResponse extends SlingHttpServletResponseWrapper { 
    public ModifyLocResponse(SlingHttpServletResponse response) { 
     super(response); 
    } 
    ... 
}