From 9c65a54a24fcec1b4024705d9aed921fe4a21a91 Mon Sep 17 00:00:00 2001 From: Nicolas Lepage <19571875+nlepage@users.noreply.github.com> Date: Wed, 27 Nov 2019 07:22:07 +0100 Subject: [PATCH] :construction: --- README.md | 8 ++++++++ go.mod | 3 +++ internal/whutil/package.go | 3 +++ promise.go => internal/whutil/promise.go | 2 +- request.go => internal/whutil/request.go | 2 +- response_writer.go => internal/whutil/response_writer.go | 2 +- package.go | 3 +++ serve.go | 8 +++++--- 8 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 go.mod create mode 100644 internal/whutil/package.go rename promise.go => internal/whutil/promise.go (98%) rename request.go => internal/whutil/request.go (97%) rename response_writer.go => internal/whutil/response_writer.go (98%) create mode 100644 package.go diff --git a/README.md b/README.md index aeca3b8..080d08d 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,14 @@ yarn add go-wasm-http-server TODO +## Why? + +TODO + +## How? + +TODO + ## Author 👤 **Nicolas Lepage** diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..14c8d52 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/nlepage/go-wasm-http-server + +go 1.12 diff --git a/internal/whutil/package.go b/internal/whutil/package.go new file mode 100644 index 0000000..7fa42a3 --- /dev/null +++ b/internal/whutil/package.go @@ -0,0 +1,3 @@ +// Package whutil stands for WASM HTTP utilities. +// It contains internal utilities for github.com/nlepage/go-wasm-http-server. +package whutil diff --git a/promise.go b/internal/whutil/promise.go similarity index 98% rename from promise.go rename to internal/whutil/promise.go index e99779a..8fdb9e5 100644 --- a/promise.go +++ b/internal/whutil/promise.go @@ -1,4 +1,4 @@ -package wasmhttp +package whutil import ( "syscall/js" diff --git a/request.go b/internal/whutil/request.go similarity index 97% rename from request.go rename to internal/whutil/request.go index 557e1e9..82eda77 100644 --- a/request.go +++ b/internal/whutil/request.go @@ -1,4 +1,4 @@ -package wasmhttp +package whutil import ( "bytes" diff --git a/response_writer.go b/internal/whutil/response_writer.go similarity index 98% rename from response_writer.go rename to internal/whutil/response_writer.go index bfd2598..e9877e4 100644 --- a/response_writer.go +++ b/internal/whutil/response_writer.go @@ -1,4 +1,4 @@ -package wasmhttp +package whutil import ( "bytes" diff --git a/package.go b/package.go new file mode 100644 index 0000000..d26a278 --- /dev/null +++ b/package.go @@ -0,0 +1,3 @@ +// Package wasmhttp (github.com/nlepae/go-wasm-http-server) allows to create a WebAssembly Go HTTP Server embedded in a ServiceWorker. +// This package is a subset of the full solution, a full usage is available on the github repository. +package wasmhttp diff --git a/serve.go b/serve.go index 2a67d12..a646923 100644 --- a/serve.go +++ b/serve.go @@ -4,6 +4,8 @@ import ( "net/http" "os" "syscall/js" + + "github.com/nlepage/go-wasm-http-server/internal/whutil" ) // Serve serves HTTP requests using handler or http.DefaultServeMux if handler is nil @@ -14,10 +16,10 @@ func Serve(handler http.Handler) func() { } cb := js.FuncOf(func(_ js.Value, args []js.Value) interface{} { - jsReq := Request(args[0]) + jsReq := whutil.Request(args[0]) var resolveRes func(interface{}) - var res = NewPromise(func(resolve, _ func(interface{})) { + var res = whutil.NewPromise(func(resolve, _ func(interface{})) { resolveRes = resolve }) @@ -28,7 +30,7 @@ func Serve(handler http.Handler) func() { panic(err) } - res := NewResponseWriter() + res := whutil.NewResponseWriter() handler.ServeHTTP(res, req)