Class ReverseProxySetupMonitor
- All Implemented Interfaces:
ExtensionPoint
,ModelObject
,SearchableModelObject
,SearchItem
,org.kohsuke.stapler.StaplerProxy
Have the JavaScript make an AJAX call, to which we respond with 302 redirect. If the reverse proxy
is done correctly, this will be handled by web methods, but otherwise we'll report that as an error.
Unfortunately, XmlHttpRequest
doesn't expose properties that allow the client-side JavaScript
to learn the details of the failure, so we have to make do with limited information.
- Author:
- Kohsuke Kawaguchi
-
Nested Class Summary
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
Field Summary
Fields inherited from class hudson.model.AdministrativeMonitor
id
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionorg.kohsuke.stapler.HttpResponse
Depending on whether the user said "yes" or "no", send him to the right place.org.kohsuke.stapler.HttpResponse
doTest
(org.kohsuke.stapler.StaplerRequest2 request, boolean testWithContext) Required permission to view this admin monitor.void
boolean
Returns true if this monitor is activated and wants to produce a warning message.Methods inherited from class hudson.model.AdministrativeMonitor
all, checkRequiredPermission, disable, doDisable, getSearchUrl, getTarget, getUrl, hasPermissionToDisplay, hasRequiredPermission, isEnabled, isSecurity
Methods inherited from class hudson.model.AbstractModelObject
getSearch, getSearchIndex, getSearchName, makeSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError, sendError, sendError, sendError
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface hudson.search.SearchItem
getSearchIcon
-
Constructor Details
-
ReverseProxySetupMonitor
public ReverseProxySetupMonitor()
-
-
Method Details
-
isActivated
public boolean isActivated()Description copied from class:AdministrativeMonitor
Returns true if this monitor is activated and wants to produce a warning message.This method is called from the HTML rendering thread, so it should run efficiently.
- Specified by:
isActivated
in classAdministrativeMonitor
-
doTest
@Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) @RestrictedSince("2.235") public org.kohsuke.stapler.HttpResponse doTest(org.kohsuke.stapler.StaplerRequest2 request, @QueryParameter boolean testWithContext) -
getTestForReverseProxySetup
@Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) @RestrictedSince("2.235") @StaplerDispatchable public void getTestForReverseProxySetup(String rest) -
getRequiredPermission
Description copied from class:AdministrativeMonitor
Required permission to view this admin monitor. By defaultJenkins.ADMINISTER
, butJenkins.SYSTEM_READ
orJenkins.MANAGE
are also supported.Changing this permission check to return
Jenkins.SYSTEM_READ
will make the active administrative monitor appear onmanage.jelly
and on the globally visibleAdministrativeMonitorsDecorator
to users without Administer permission.AdministrativeMonitor.doDisable(StaplerRequest2, StaplerResponse2)
will still always require Administer permission.This method only allows for a single permission to be returned. If more complex permission checks are required, override
AdministrativeMonitor.checkRequiredPermission()
andAdministrativeMonitor.hasRequiredPermission()
instead.Implementers need to ensure that
doAct
and other web methods perform necessary permission checks: Users with System Read permissions are expected to be limited to read-only access. Form UI elements that change system state, e.g. toggling a feature on or off, need to be hidden from users lacking Administer permission.- Overrides:
getRequiredPermission
in classAdministrativeMonitor
-
doAct
@Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) @RestrictedSince("2.235") public org.kohsuke.stapler.HttpResponse doAct(@QueryParameter String no) throws IOException Depending on whether the user said "yes" or "no", send him to the right place.- Throws:
IOException
-
getDisplayName
- Specified by:
getDisplayName
in interfaceModelObject
- Overrides:
getDisplayName
in classAdministrativeMonitor
-