/** * Returns a target that can be used to redirect to the specified protocol. If no change is * required null will be returned. * * @param protocol * required protocol * @return request target or null */ public static IRequestTarget requireProtocol(Protocol protocol) { return requireProtocol(protocol, null); }
protected IRequestTarget checkSecureIncoming(IRequestTarget target) { if (target != null && target instanceof SwitchProtocolRequestTarget) { return target; } if (portConfig == null) { return target; } Class<?> pageClass = getPageClass(target); if (pageClass != null) { IRequestTarget redirect = null; if (hasSecureAnnotation(pageClass)) { redirect = SwitchProtocolRequestTarget.requireProtocol(Protocol.HTTPS); } else { redirect = SwitchProtocolRequestTarget.requireProtocol(Protocol.HTTP); } if (redirect != null) { return redirect; } } return target; }
protected IRequestTarget checkSecureOutgoing(IRequestTarget target) { if (target != null && target instanceof SwitchProtocolRequestTarget) { return target; } if (portConfig == null) { return target; } Class<?> pageClass = getPageClass(target); if (pageClass != null) { IRequestTarget redirect = null; if (hasSecureAnnotation(pageClass)) { redirect = SwitchProtocolRequestTarget.requireProtocol(Protocol.HTTPS, target); } else { redirect = SwitchProtocolRequestTarget.requireProtocol(Protocol.HTTP, target); } if (redirect != null) { return redirect; } } return target; }