diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 31a8526b..429c6d6a 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -13,7 +13,6 @@
-
@@ -42,7 +41,7 @@
-
+
@@ -60,8 +59,8 @@
-
-
+
+
@@ -101,6 +100,11 @@
+
+
+
+
+
@@ -112,13 +116,6 @@
-
-
-
-
-
-
-
@@ -171,25 +168,25 @@
1565965399486
-
+
-
+
-
+
-
+
@@ -285,7 +282,7 @@
-
+
@@ -309,8 +306,8 @@
-
-
+
+
diff --git a/example/sqli_filter.dart b/example/sqli_filter.dart
new file mode 100644
index 00000000..0388477b
--- /dev/null
+++ b/example/sqli_filter.dart
@@ -0,0 +1,24 @@
+import 'package:angel_framework/angel_framework.dart';
+import 'package:angel_framework/http.dart';
+import 'package:angel_security/native.dart';
+import 'package:logging/logging.dart';
+import 'package:pretty_logging/pretty_logging.dart';
+
+main() async {
+ // Logging boilerplate.
+ Logger.root.onRecord.listen(prettyLog);
+
+ // Create an app, and HTTP driver.
+ var app = Angel(logger: Logger('rate_limit')), http = AngelHttp(app);
+
+ // Filter out SQL injections from the query. On every GET request,
+ // print out the query parameters (as JSON).
+ app
+ ..fallback(sqliFilterQuery)
+ ..get('/', (req, res) => req.queryParameters)
+ ..fallback((req, res) => throw AngelHttpException.notFound());
+
+ // Start the server.
+ await http.startServer('127.0.0.1', 3000);
+ print('SQLi filtering example listening at ${http.uri}');
+}