aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/libmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd
diff options
context:
space:
mode:
Diffstat (limited to 'mitmproxy/libmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd')
-rw-r--r--mitmproxy/libmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd25
1 files changed, 25 insertions, 0 deletions
diff --git a/mitmproxy/libmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd b/mitmproxy/libmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd
new file mode 100644
index 00000000..e937b762
--- /dev/null
+++ b/mitmproxy/libmproxy/contrib/jsbeautifier/unpackers/README.specs.mkd
@@ -0,0 +1,25 @@
+# UNPACKERS SPECIFICATIONS
+
+Nothing very difficult: an unpacker is a submodule placed in the directory
+where this file was found. Each unpacker must define three symbols:
+
+ * `PRIORITY` : integer number expressing the priority in applying this
+ unpacker. Lower number means higher priority.
+ Makes sense only if a source file has been packed with
+ more than one packer.
+ * `detect(source)` : returns `True` if source is packed, otherwise, `False`.
+ * `unpack(source)` : takes a `source` string and unpacks it. Must always return
+ valid JavaScript. That is to say, your code should look
+ like:
+
+```
+if detect(source):
+ return do_your_fancy_things_with(source)
+else:
+ return source
+```
+
+*You can safely define any other symbol in your module, as it will be ignored.*
+
+`__init__` code will automatically load new unpackers, without any further step
+to be accomplished. Simply drop it in this directory.