Semantic HTTP handling using Go interfaces