diff options
author | Emiliano Ciavatta | 2020-09-16 15:56:19 +0000 |
---|---|---|
committer | Emiliano Ciavatta | 2020-09-16 15:56:19 +0000 |
commit | a77f2f97f1df204c663119fe8ccafb6f274cb634 (patch) | |
tree | 294d839017dbf67d85a2501e9a0570e87602e30a /parsers/parser.go | |
parent | 991d3b6c91d9fe3046ec94a3716a7dd21f496feb (diff) | |
parent | dfd6d543074b4a30c2fc990063ca69ebf8a734e1 (diff) |
Merge branch 'feature/decode-gzip' into develop
Diffstat (limited to 'parsers/parser.go')
-rw-r--r-- | parsers/parser.go | 28 |
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 +} |