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.IOException
InvalidConfigValueException
public void createFproxy()
public void setCore(NodeClientCore core)
public void removeStartupToadlet()
public boolean doRobots()
ToadletContainer
doRobots
in interface ToadletContainer
public boolean publicGatewayMode()
ToadletContainer
publicGatewayMode
in interface ToadletContainer
public void start()
public void finishStart()
public void register(Toadlet t, java.lang.String menu, java.lang.String urlPrefix, boolean atFront, boolean fullOnly)
ToadletContainer
register
in interface ToadletContainer
t
- 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)
ToadletContainer
register
in interface ToadletContainer
t
- 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)
ToadletContainer
register
in interface ToadletContainer
t
- 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 ToadletContainer
public StartupToadlet getStartupToadlet()
public boolean fproxyHasCompletedWizard()
fproxyHasCompletedWizard
in interface ToadletContainer
public Toadlet findToadlet(java.net.URI uri) throws PermanentRedirectException
ToadletContainer
findToadlet
in interface ToadletContainer
PermanentRedirectException
public void run()
run
in interface java.lang.Runnable
public PageMaker.THEME getTheme()
ToadletContainer
getTheme
in interface ToadletContainer
public UserAlertManager getUserAlertManager()
public void setCSSName(PageMaker.THEME theme)
public boolean sendAllThemes()
sendAllThemes
in interface ToadletContainer
public boolean isAdvancedModeEnabled()
isAdvancedModeEnabled
in interface ToadletContainer
public void setAdvancedMode(boolean enabled)
setAdvancedMode
in interface ToadletContainer
public boolean isFProxyJavascriptEnabled()
isFProxyJavascriptEnabled
in interface ToadletContainer
public void enableFProxyJavascript(boolean b)
public boolean isFProxyWebPushingEnabled()
isFProxyWebPushingEnabled
in interface ToadletContainer
public void enableFProxyWebPushing(boolean b)
public java.lang.String getFormPassword()
ToadletContainer
getFormPassword
in interface ToadletContainer
public boolean isAllowedFullAccess(java.net.InetAddress remoteAddr)
ToadletContainer
isAllowedFullAccess
in interface ToadletContainer
public HTMLNode addFormChild(HTMLNode parentNode, java.lang.String target, java.lang.String id)
addFormChild
in interface ToadletContainer
public void setBucketFactory(BucketFactory tempBucketFactory)
public boolean isEnabled()
public BookmarkManager getBookmarks()
public FreenetURI[] getBookmarkURIs()
public boolean enablePersistentConnections()
enablePersistentConnections
in interface ToadletContainer
public boolean enableInlinePrefetch()
enableInlinePrefetch
in interface ToadletContainer
public boolean enableExtendedMethodHandling()
enableExtendedMethodHandling
in interface ToadletContainer
public boolean enableCachingForChkAndSskKeys()
enableCachingForChkAndSskKeys
in interface ToadletContainer
public boolean allowPosts()
ToadletContainer
allowPosts
in interface ToadletContainer
public BucketFactory getBucketFactory()
ToadletContainer
getBucketFactory
in interface ToadletContainer
public boolean enableActivelinks()
enableActivelinks
in interface ToadletContainer
public boolean disableProgressPage()
disableProgressPage
in interface ToadletContainer
public PageMaker getPageMaker()
getPageMaker
in interface ToadletContainer
public Ticker getTicker()
public NodeClientCore getCore()
public FProxyFetchInProgress.REFILTER_POLICY getReFilterPolicy()
ToadletContainer
getReFilterPolicy
in interface ToadletContainer
public java.io.File getOverrideFile()
getOverrideFile
in interface ToadletContainer
public java.lang.String getURL()
getURL
in interface ToadletContainer
public java.lang.String getURL(java.lang.String host)
getURL
in interface ToadletContainer
public boolean isSSL()
isSSL
in interface ToadletContainer
public boolean isLinkExcepted(java.net.URI link)
isLinkExcepted
in interface LinkFilterExceptionProvider
link
- The link to checktrue
if the link should not be filtered, false
if
it should be filteredpublic long generateUniqueID()
ToadletContainer
generateUniqueID
in interface ToadletContainer