aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorThomas Kriechbaumer <thomas@kriechbaumer.name>2020-04-04 15:31:38 +0200
committerThomas Kriechbaumer <thomas@kriechbaumer.name>2020-04-04 15:36:13 +0200
commit678be7a052007e26939b5f0cfa13200ab032cf86 (patch)
tree6c571ae26edff40621b85c1330d1f89d96094f10 /docs
parent6acabbb4f5977427dd08adb0d32b06c0007315d2 (diff)
downloadmitmproxy-678be7a052007e26939b5f0cfa13200ab032cf86.tar.gz
mitmproxy-678be7a052007e26939b5f0cfa13200ab032cf86.tar.bz2
mitmproxy-678be7a052007e26939b5f0cfa13200ab032cf86.zip
improve scripting docs
Diffstat (limited to 'docs')
-rw-r--r--docs/src/content/addons-events.md16
-rw-r--r--docs/src/content/addons-scripting.md33
-rw-r--r--docs/src/content/concepts-commands.md10
-rw-r--r--docs/src/themes/mitmproxydocs/layouts/partials/header.html2
4 files changed, 42 insertions, 19 deletions
diff --git a/docs/src/content/addons-events.md b/docs/src/content/addons-events.md
index 489ea342..ddf0a99f 100644
--- a/docs/src/content/addons-events.md
+++ b/docs/src/content/addons-events.md
@@ -21,4 +21,18 @@ header with a count of the number of responses seen:
Below is an addon class that implements stubs for all events. We've added
annotations to illustrate the argument types for the various events.
-{{< example src="examples/addons/events.py" lang="py" >}} \ No newline at end of file
+### Generic Events
+
+{{< example src="examples/addons/events.py" lang="py" >}}
+
+### HTTP Events
+
+{{< example src="examples/addons/events-http-specific.py" lang="py" >}}
+
+### WebSocket Events
+
+{{< example src="examples/addons/events-websocket-specific.py" lang="py" >}}
+
+### TCP Events
+
+{{< example src="examples/addons/events-tcp-specific.py" lang="py" >}}
diff --git a/docs/src/content/addons-scripting.md b/docs/src/content/addons-scripting.md
index 6a18eaf4..c90a9037 100644
--- a/docs/src/content/addons-scripting.md
+++ b/docs/src/content/addons-scripting.md
@@ -5,7 +5,7 @@ menu:
weight: 5
---
-# Scripting
+# Scripting HTTP/1.1 and HTTP/2.0
Sometimes, we would like to write a quick script without going through the
trouble of creating a class. The addons mechanism has a shorthand that allows a
@@ -13,7 +13,6 @@ module as a whole to be treated as an addon object. This lets us place event
handler functions in the module scope. For instance, here is a complete script
that adds a header to every request.
-
{{< example src="examples/addons/scripting-headers.py" lang="py" >}}
@@ -22,11 +21,31 @@ an arbitrary response instead:
{{< example src="examples/simple/send_reply_from_proxy.py" lang="py" >}}
+All events around the HTTP protocol [can be found here]({{< relref "addons-events#http-events">}}).
-You can look at the [http][] module, or the [Request][], and
-[Response][] classes for other attributes that you can use when
+For HTTP-related objects, please look at the [http][] module, or the
+[Request][], and [Response][] classes for other attributes that you can use when
scripting.
-[http]: https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy/http.py
-[Request]: https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy/net/http/request.py
-[Response]: https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy/net/http/response.py
+# Scripting WebSocket
+
+The WebSocket protocol initially looks like a regular HTTP request, before the client and server agree to upgrade the connection to WebSocket. All scripting events for initial HTTP handshake, and also the dedicated WebSocket events [can be found here]({{< relref "addons-events#websocket-events">}}).
+
+{{< example src="examples/simple/websocket_messages.py" lang="py" >}}
+
+For WebSocket-related objects please look at the [websocket][] module to find
+all attributes that you can use when scripting.
+
+[websocket]: https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy/websocket.py
+
+
+# Scripting TCP
+
+All events around the TCP protocol [can be found here]({{< relref "addons-events#tcp-events">}}).
+
+{{< example src="examples/complex/tcp_message.py" lang="py" >}}
+
+For WebSocket-related objects please look at the [tcp][] module to find
+all attributes that you can use when scripting.
+
+[tcp]: https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy/tcp.py
diff --git a/docs/src/content/concepts-commands.md b/docs/src/content/concepts-commands.md
index 72f17252..46d76209 100644
--- a/docs/src/content/concepts-commands.md
+++ b/docs/src/content/concepts-commands.md
@@ -60,13 +60,3 @@ just replay flows for a specific domain:
{{< highlight none >}}
:replay.client "~d google.com"
{{< /highlight >}}
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/src/themes/mitmproxydocs/layouts/partials/header.html b/docs/src/themes/mitmproxydocs/layouts/partials/header.html
index 1dcf3a23..925631d6 100644
--- a/docs/src/themes/mitmproxydocs/layouts/partials/header.html
+++ b/docs/src/themes/mitmproxydocs/layouts/partials/header.html
@@ -20,6 +20,6 @@
{{ if .RSSLink -}}
<link href="{{ .RSSLink }}" rel="feed" type="application/rss+xml" title="{{ .Site.Title }}">
{{- end }}
- {{ .Hugo.Generator }}
+ {{ hugo.Generator }}
</head>
<body>