public final class SimpleToadletServer extends java.lang.Object implements ToadletContainer, java.lang.Runnable, LinkFilterExceptionProvider
| Modifier and Type | Class and Description |
|---|---|
class |
SimpleToadletServer.SocketHandler |
| Modifier and Type | Field and Description |
|---|---|
BookmarkManager |
bookmarkManager |
static int |
DEFAULT_FPROXY_PORT |
IntervalPusherManager |
intervalPushManager
The IntervalPusherManager handles interval pushing
|
PushDataManager |
pushDataManager
The PushDataManager handles all the pushing tasks
|
StartupToadlet |
startupToadlet |
| Constructor and Description |
|---|
SimpleToadletServer(SubConfig fproxyConfig,
BucketFactory bucketFactory,
Executor executor,
Node node)
Create a SimpleToadletServer, using the settings from the SubConfig (the fproxy.*
config).
|
| Modifier and Type | Method and Description |
|---|---|
HTMLNode |
addFormChild(HTMLNode parentNode,
java.lang.String target,
java.lang.String id) |
boolean |
allowPosts()
Can we deal with POSTs yet?
|
void |
createFproxy() |
boolean |
disableProgressPage() |
boolean |
doRobots()
Whether to tell spiders to go away
|
boolean |
enableActivelinks() |
boolean |
enableCachingForChkAndSskKeys() |
boolean |
enableExtendedMethodHandling() |
void |
enableFProxyJavascript(boolean b) |
void |
enableFProxyWebPushing(boolean b) |
boolean |
enableInlinePrefetch() |
boolean |
enablePersistentConnections() |
Toadlet |
findToadlet(java.net.URI uri)
Find a Toadlet by URI.
|
void |
finishStart() |
boolean |
fproxyHasCompletedWizard() |
long |
generateUniqueID()
Create a unique ID for a ToadletContext
|
BookmarkManager |
getBookmarks() |
FreenetURI[] |
getBookmarkURIs() |
BucketFactory |
getBucketFactory()
Get the BucketFactory
|
NodeClientCore |
getCore() |
java.lang.String |
getFormPassword()
Get the form password
|
java.io.File |
getOverrideFile() |
PageMaker |
getPageMaker() |
FProxyFetchInProgress.REFILTER_POLICY |
getReFilterPolicy()
What to do when we find cached data on the global queue but it's already been
filtered, and we want a filtered copy.
|
StartupToadlet |
getStartupToadlet() |
PageMaker.THEME |
getTheme()
Get the name of the theme to be used by all the Toadlets
|
Ticker |
getTicker() |
java.lang.String |
getURL() |
java.lang.String |
getURL(java.lang.String host) |
UserAlertManager |
getUserAlertManager() |
boolean |
isAdvancedModeEnabled() |
boolean |
isAllowedFullAccess(java.net.InetAddress remoteAddr)
Is the given IP address allowed full access to the node?
|
boolean |
isEnabled() |
boolean |
isFProxyJavascriptEnabled() |
boolean |
isFProxyWebPushingEnabled() |
boolean |
isLinkExcepted(java.net.URI link)
Returns whether the given should be excepted from being filtered.
|
boolean |
isSSL() |
boolean |
publicGatewayMode()
Was public-gateway mode enabled on startup? (Changing it won't take
effect until restart because of bookmark-related issues).
|
void |
register(Toadlet t,
java.lang.String menu,
java.lang.String urlPrefix,
boolean atFront,
boolean fullOnly)
Register a Toadlet.
|
void |
register(Toadlet t,
java.lang.String menu,
java.lang.String urlPrefix,
boolean atFront,
java.lang.String name,
java.lang.String title,
boolean fullOnly,
LinkEnabledCallback cb)
Registers a Toadlet and optionally adds a navigation link to the menu.
|
void |
register(Toadlet t,
java.lang.String menu,
java.lang.String urlPrefix,
boolean atFront,
java.lang.String name,
java.lang.String title,
boolean fullOnly,
LinkEnabledCallback cb,
FredPluginL10n l10n)
Registers a Toadlet and optionally adds a navigation link to the menu.
|
void |
registerMenu(java.lang.String link,
java.lang.String name,
java.lang.String title,
FredPluginL10n plugin) |
void |
removeStartupToadlet() |
void |
run() |
boolean |
sendAllThemes() |
void |
setAdvancedMode(boolean enabled) |
void |
setBucketFactory(BucketFactory tempBucketFactory) |
void |
setCore(NodeClientCore core) |
void |
setCSSName(PageMaker.THEME theme) |
void |
start() |
void |
unregister(Toadlet t) |
public static final int DEFAULT_FPROXY_PORT
public BookmarkManager bookmarkManager
public PushDataManager pushDataManager
public IntervalPusherManager intervalPushManager
public StartupToadlet startupToadlet
public SimpleToadletServer(SubConfig fproxyConfig, BucketFactory bucketFactory, Executor executor, Node node) throws java.io.IOException, InvalidConfigValueException
java.io.IOExceptionInvalidConfigValueExceptionpublic void createFproxy()
public void setCore(NodeClientCore core)
public void removeStartupToadlet()
public boolean doRobots()
ToadletContainerdoRobots in interface ToadletContainerpublic boolean publicGatewayMode()
ToadletContainerpublicGatewayMode in interface ToadletContainerpublic void start()
public void finishStart()
public void register(Toadlet t, java.lang.String menu, java.lang.String urlPrefix, boolean atFront, boolean fullOnly)
ToadletContainerregister in interface ToadletContainert - the toadlet to registermenu - the menu category to register a navigation link with with. It is
most likely also a l10n key, though that is irrelevant to this method.urlPrefix - the prefix that the Toadlet will serve; should be a path like
/foo/bar/baz, most likely the string returned by the toadlet's path() methodatFront - If true, this Toadlet will take precedence over any other
previously-registered Toadlet whose urlPrefix also matches. Otherwise,
the other matching Toadlet is used instead.public void register(Toadlet t, java.lang.String menu, java.lang.String urlPrefix, boolean atFront, java.lang.String name, java.lang.String title, boolean fullOnly, LinkEnabledCallback cb)
ToadletContainerregister in interface ToadletContainert - the toadlet to registermenu - the menu category to register a navigation link with with. It is
most likely also a l10n key, though that is irrelevant to this method.urlPrefix - the prefix that the Toadlet will serve; should be a path like
/foo/bar/baz, most likely the string returned by the toadlet's path() methodatFront - If true, this Toadlet will take precedence over any other
previously-registered Toadlet whose urlPrefix also matches. Otherwise,
the other matching Toadlet is used instead.name - A l10n key used for the navigation link label.title - A l10n key used for the navigation link tooltip.fullOnly - Whether or not the navigation link is shown when the http client
does not have full security access. Note that passing false does not prevent
the Toadlet from receiving requests under urlPrefix, so Toadlet authors
are advised to check for full access themselves, possibly returning a
403 error code.cb - A LinkEnabledCalback, allowing fine control of when the navigation
link is visible and when it isn't. Passing null means it is always visible.public void register(Toadlet t, java.lang.String menu, java.lang.String urlPrefix, boolean atFront, java.lang.String name, java.lang.String title, boolean fullOnly, LinkEnabledCallback cb, FredPluginL10n l10n)
ToadletContainerregister in interface ToadletContainert - the toadlet to registermenu - the menu category to register a navigation link with with. It is
most likely also a l10n key, though that is irrelevant to this method.urlPrefix - the prefix that the Toadlet will serve; should be a path like
/foo/bar/baz, most likely the string returned by the toadlet's path() methodatFront - If true, this Toadlet will take precedence over any other
previously-registered Toadlet whose urlPrefix also matches. Otherwise,
the other matching Toadlet is used instead.name - A l10n key used for the navigation link label.title - A l10n key used for the navigation link tooltip.fullOnly - Whether or not the navigation link is shown when the http client
does not have full security access. Note that passing false does not prevent
the Toadlet from receiving requests under urlPrefix, so Toadlet authors
are advised to check for full access themselves, possibly returning a
403 error code.cb - A LinkEnabledCalback, allowing fine control of when the navigation
link is visible and when it isn't. Passing null means it is always visible.l10n - A FredPluginL10n instance for translating the name and title parameters.
May be null.public void registerMenu(java.lang.String link,
java.lang.String name,
java.lang.String title,
FredPluginL10n plugin)
public void unregister(Toadlet t)
unregister in interface ToadletContainerpublic StartupToadlet getStartupToadlet()
public boolean fproxyHasCompletedWizard()
fproxyHasCompletedWizard in interface ToadletContainerpublic Toadlet findToadlet(java.net.URI uri) throws PermanentRedirectException
ToadletContainerfindToadlet in interface ToadletContainerPermanentRedirectExceptionpublic void run()
run in interface java.lang.Runnablepublic PageMaker.THEME getTheme()
ToadletContainergetTheme in interface ToadletContainerpublic UserAlertManager getUserAlertManager()
public void setCSSName(PageMaker.THEME theme)
public boolean sendAllThemes()
sendAllThemes in interface ToadletContainerpublic boolean isAdvancedModeEnabled()
isAdvancedModeEnabled in interface ToadletContainerpublic void setAdvancedMode(boolean enabled)
setAdvancedMode in interface ToadletContainerpublic boolean isFProxyJavascriptEnabled()
isFProxyJavascriptEnabled in interface ToadletContainerpublic void enableFProxyJavascript(boolean b)
public boolean isFProxyWebPushingEnabled()
isFProxyWebPushingEnabled in interface ToadletContainerpublic void enableFProxyWebPushing(boolean b)
public java.lang.String getFormPassword()
ToadletContainergetFormPassword in interface ToadletContainerpublic boolean isAllowedFullAccess(java.net.InetAddress remoteAddr)
ToadletContainerisAllowedFullAccess in interface ToadletContainerpublic HTMLNode addFormChild(HTMLNode parentNode, java.lang.String target, java.lang.String id)
addFormChild in interface ToadletContainerpublic void setBucketFactory(BucketFactory tempBucketFactory)
public boolean isEnabled()
public BookmarkManager getBookmarks()
public FreenetURI[] getBookmarkURIs()
public boolean enablePersistentConnections()
enablePersistentConnections in interface ToadletContainerpublic boolean enableInlinePrefetch()
enableInlinePrefetch in interface ToadletContainerpublic boolean enableExtendedMethodHandling()
enableExtendedMethodHandling in interface ToadletContainerpublic boolean enableCachingForChkAndSskKeys()
enableCachingForChkAndSskKeys in interface ToadletContainerpublic boolean allowPosts()
ToadletContainerallowPosts in interface ToadletContainerpublic BucketFactory getBucketFactory()
ToadletContainergetBucketFactory in interface ToadletContainerpublic boolean enableActivelinks()
enableActivelinks in interface ToadletContainerpublic boolean disableProgressPage()
disableProgressPage in interface ToadletContainerpublic PageMaker getPageMaker()
getPageMaker in interface ToadletContainerpublic Ticker getTicker()
public NodeClientCore getCore()
public FProxyFetchInProgress.REFILTER_POLICY getReFilterPolicy()
ToadletContainergetReFilterPolicy in interface ToadletContainerpublic java.io.File getOverrideFile()
getOverrideFile in interface ToadletContainerpublic java.lang.String getURL()
getURL in interface ToadletContainerpublic java.lang.String getURL(java.lang.String host)
getURL in interface ToadletContainerpublic boolean isSSL()
isSSL in interface ToadletContainerpublic boolean isLinkExcepted(java.net.URI link)
isLinkExcepted in interface LinkFilterExceptionProviderlink - The link to checktrue if the link should not be filtered, false if
it should be filteredpublic long generateUniqueID()
ToadletContainergenerateUniqueID in interface ToadletContainer