aboutsummaryrefslogtreecommitdiff
path: root/parsers/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'parsers/parser.go')
-rw-r--r--parsers/parser.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/parsers/parser.go b/parsers/parser.go
new file mode 100644
index 0000000..06cc0dc
--- /dev/null
+++ b/parsers/parser.go
@@ -0,0 +1,28 @@
+package parsers
+
+type Parser interface {
+ TryParse(content []byte) Metadata
+
+}
+
+type Metadata interface {
+}
+
+type BasicMetadata struct {
+ Type string `json:"type"`
+}
+
+var parsers = []Parser{ // order matter
+ HttpRequestParser{},
+ HttpResponseParser{},
+}
+
+func Parse(content []byte) Metadata {
+ for _, parser := range parsers {
+ if metadata := parser.TryParse(content); metadata != nil {
+ return metadata
+ }
+ }
+
+ return nil
+}