diff --git a/.gitmodules b/.gitmodules
index d9d5e4c..a769e1d 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -19,3 +19,6 @@
 [submodule "tests/fs-test"]
 	path = tests/fs-test
 	url = https://github.com/sheinz/fs-test
+[submodule "extras/http-parser/http-parser"]
+	path = extras/http-parser/http-parser
+	url = https://github.com/nodejs/http-parser
diff --git a/extras/http-parser/component.mk b/extras/http-parser/component.mk
new file mode 100644
index 0000000..d3787fb
--- /dev/null
+++ b/extras/http-parser/component.mk
@@ -0,0 +1,11 @@
+# Component makefile for extras/http-parser
+
+# Include it as 'http-parser/http_parser.h'
+INC_DIRS += $(http-parser_ROOT)
+
+# args for passing into compile rule generation
+http-parser_INC_DIR =
+http-parser_SRC_DIR = $(http-parser_ROOT)http-parser
+http-parser_SRC_FILES = $(http-parser_SRC_DIR)/http_parser.c
+
+$(eval $(call component_compile_rules,http-parser))
diff --git a/extras/http-parser/http-parser b/extras/http-parser/http-parser
new file mode 160000
index 0000000..335850f
--- /dev/null
+++ b/extras/http-parser/http-parser
@@ -0,0 +1 @@
+Subproject commit 335850f6b868d3411968cbf5a4d59fe619dee36f