Skip to main content

An HTTP proxy for Opera Dragonfly development

Project description

Introduction

Dragonkeeper is an utility for working on the Opera Dragonfly client. Dragonfly serves as a proxy between the debugger and the debuggee. This makes it possible to run the Opera Dragonfly client as a normal web page. This makes development easy, as on can simple reload the client whenever making changes to it.

Howto

Basic workflow when using Dragonkeeper is as follows:

  • Get a source distribution of Opera Dragonfly from http://bitbucket.org/scope/dragonfly-stp-1/

  • Launch Dragonkeeper with the appropriate options. If the current directory is the Dragonfly directory, all the default options should be fine.

  • Open a browser to be debugged, the debuggee.

  • In the debugee, open the adress “opera:debug”.

  • Enter the IP address and port of the machine running Dragonkeeper. The defaults are localhost and 7001.

  • Open a separate Opera instance, this will be the debugger instance.

  • Navigate to the IP/port of the Dragonkeeper instance. The default port is 8002

  • You’ll get a directory listing. You should open client-en.xml in the src folder.

  • This will load Opera Dragonfly from the Dragonkeeper and connect to the debuggee.

Note that both the debuggee and the debugger can run on the same machine. This makes sense when developing.

Usage

Usage: -m dragonkeeper.dragonkeeper [options]

Exit: Control-C

Settings: an optional file CONFIG does overwrite the defaults. The options file is a standard .ini file, with a single section called “dragonkeeper”:

[dragonkeeper] host: root: . server_port: 8002 proxy_port: 7001 debug: False format: False

Options:
-h, --help

show this help message and exit

-c CONFIG_PATH, --config=CONFIG_PATH

Path to config file

-d, --debug

print message flow

-f, --format

pretty print message flow

-j, --format-payload

pretty print the message payload. can be very expensive

-r ROOT, --root=ROOT

the root directory of the server; default .

-p PROXY_PORT, --proxy-port=PROXY_PORT

proxy port; default 7001

-s SERVER_PORT, --server-port=SERVER_PORT

server port; default 8002

--host=HOST

host; default localhost

-i, --make-ini

Print a default dragonkeeper.ini and exit

--force-stp-0

force stp 0 protocol

--print-command-map

print the command map

--message-filter=MESSAGE_FILTER

Filter the printing of the messages. The argument is the filter or a path to a file with the filter. If the filter is set, only messages which are listed in the filter will be printed. The filter uses JSON notation like: {“<service name>”: {“<message type>”: [<message>*]}}”, with message type one of “command”, “response”, “event.” ‘*’ placeholder are accepted in <message>, e.g. a filter to log all threads may look like: “{‘ecmascript-debugger’: {‘event’: [‘OnThread*’]}}”.

-v, --verbose

print verbose debug info

--cgi

enable cgi support

More comments in the source files.

Changelog

See the CHANGELOG file

Contact

Dragonkeeper is maintained by the Opera Dragonfly team. The authors are

The Opera Dragonfly web site is at http://dragonfly.opera.com

License

See the LICENSE file in the top distribution directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dragonkeeper-0.8.3.zip (36.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page