dragonkeeper

HomePage: http://bitbucket.org/scope/dragonkeeper/

Author: Christian Krebs, Rune Halvorsen, Jan Borsodi

Download: https://pypi.python.org/packages/source/d/dragonkeeper/dragonkeeper-0.8.3.zip

        .. -*- restructuredtext -*-

################################################
Dragonkeeper - Opera Dragonfly development proxy
################################################

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

- Christian Krebs <chrisk@opera.com>
- Rune Halvorsen <runeh@opera.com>
- Jan Borsodi <jborsodi@opera.com>

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


License
-------

See the ``LICENSE`` file in the top distribution directory.