geneva.plugins.http¶
Run by the evaluator, tries to make a GET request to a given server
-
class
plugins.http.client.
HTTPClient
(args)¶ Bases:
plugins.plugin_client.ClientPlugin
Defines the HTTP client.
-
__init__
(args)¶ Initializes the HTTP client.
-
static
get_args
(command)¶ Defines required args for this plugin
-
run
(args, logger, engine=None)¶ Try to make a forbidden GET request to the server.
-
name
= 'http'¶
-
-
class
plugins.http.server.
HTTPServer
(args)¶ Bases:
plugins.plugin_server.ServerPlugin
Defines the HTTP client.
-
__init__
(args)¶ Initializes the HTTP client.
-
static
get_args
(command)¶ Defines arguments for this plugin
-
run
(args, logger)¶ Initializes the HTTP server.
-
stop
()¶ Stops this server.
-
name
= 'http'¶
-
HTTP Plugin driver
Overrides the default evaluator plugin handling so we can negotiate a clear port and track jailed sites to avoid residual censorship.
-
class
plugins.http.plugin.
HTTPPluginRunner
(args)¶ Bases:
plugins.plugin.Plugin
Defines the HTTP plugin runner.
-
__init__
(args)¶ Marks this plugin as enabled
-
static
get_args
(command)¶ Defines required global args for all plugins
-
negotiate_clear_port
(args, evaluator, environment, logger)¶ Since residual censorship might be affecting our IP/port combo that was randomly chosen, this method is to find a port on which no residual censorship is present. This is done simply by picking a port, running the server, running curl to confirm it’s accessible, and then returning that port.
-
start
(args, evaluator, environment, ind, logger)¶ Runs the plugins
-
name
= 'http'¶
-
-
class
plugins.http.plugin.
TestServer
(requested_site, evaluator, environment, logger)¶ Bases:
object
Context manager to retrieve a test server from the external server pool.
-
__init__
(requested_site, evaluator, environment, logger)¶ Initialize self. See help(type(self)) for accurate signature.
-
-
plugins.http.plugin.
check_censorship
(site, evaluator, environment, logger)¶ Make a request to the given site to test if it is censored. Used to test a site for residual censorship before using it.