diff options
author | Jaana Burcu Dogan <jbd@google.com> | 2017-03-21 14:43:56 -0700 |
---|---|---|
committer | Jaana Burcu Dogan <jbd@google.com> | 2017-03-24 17:11:04 +0000 |
commit | fce1c816b5931cda200d5de72fcc989c937e202f (patch) | |
tree | 7d1e678358d5ee047ddd1e44a21e68bf9e01b59c /content/h2push/server | |
parent | f415e5b29c5b4d211782c6c6851b62d2070f2fdc (diff) |
content/h2push: initial commit of the example server
Change-Id: I500f049e5855d008fd8185603033f72a3fd39b4f
Reviewed-on: https://go-review.googlesource.com/38428
Reviewed-by: Tom Bergan <tombergan@google.com>
Run-TryBot: Tom Bergan <tombergan@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'content/h2push/server')
-rw-r--r-- | content/h2push/server/cert.pem | 18 | ||||
-rw-r--r-- | content/h2push/server/key.pem | 27 | ||||
-rw-r--r-- | content/h2push/server/main.go | 47 | ||||
-rw-r--r-- | content/h2push/server/static/app.js | 1 | ||||
-rw-r--r-- | content/h2push/server/static/style.css | 7 |
5 files changed, 100 insertions, 0 deletions
diff --git a/content/h2push/server/cert.pem b/content/h2push/server/cert.pem new file mode 100644 index 0000000..a5e358b --- /dev/null +++ b/content/h2push/server/cert.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC+jCCAeKgAwIBAgIRAObvuqxwZslFrWR3prSG3dIwDQYJKoZIhvcNAQELBQAw +EjEQMA4GA1UEChMHQWNtZSBDbzAeFw0xNzAzMjEyMTIyMTlaFw0xODAzMjEyMTIy +MTlaMBIxEDAOBgNVBAoTB0FjbWUgQ28wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCo/c12ijJ5W3P+6A7P0kY5uzgx0Dxf33PZ7CIUijtH/8AoQoaC7cfn +I/ZaFgxJdZsGoC2+nlkBBOL0kPPc5FB6B93KEqhl2GLlKsojy4aB6osEBxnrHvX7 +2M8ainZB1SVtkt7CmstWRyD8b0dwEKR84ihN13ia7pgAute64ZcgsrfMptr1OiMh +8wJQQQcwSU1V+m9a4M+yWFGiGG6bSRoKUk/LPn5ET/q5DJlpeh+GxG70rIXvUr8O +9yGT5y10dR77wMrdhpmCWpA5+RUQbwA549lI7r+lEipoO0zASOt9X4OKfUTCH/Ss +wSOpiFEuLFHn+ISXZXB1l0GUnkhLOBE3AgMBAAGjSzBJMA4GA1UdDwEB/wQEAwIF +oDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuC +CWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAejwoqgZ7C0aIfn/iI6re/Kkl +VJWROa/ztbEVEK6Pq9OGfWWNx57a/Ya2xX2C/l+WWo7vBvq7yLhMZ2tR+QeRNvHA +dlyfdv7lg5oQ1a+ecl5mIoeYS5cxBTohWzf8QLfp5J/AKOOZn+HQlI3b1gkbiWIP +LSo+e4jvRyDDj/caIZqc6a3SNKmdZxCGNps/VpQR+3gRPDPo6s7Ieoz230UcvJMc +N4BdI3VYZiBAWxi657WeUZrmRhKIc6h4vO4H1pSMD+uGfU9/2nm+udXpNNCpV72q +pCjSOWRzvgOmvWTyRjRyDvViG7jNQdzBPbnRaK1XRKN3Yij16+k8v8UD0xsrdg== +-----END CERTIFICATE----- diff --git a/content/h2push/server/key.pem b/content/h2push/server/key.pem new file mode 100644 index 0000000..388407f --- /dev/null +++ b/content/h2push/server/key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAqP3NdooyeVtz/ugOz9JGObs4MdA8X99z2ewiFIo7R//AKEKG +gu3H5yP2WhYMSXWbBqAtvp5ZAQTi9JDz3ORQegfdyhKoZdhi5SrKI8uGgeqLBAcZ +6x71+9jPGop2QdUlbZLewprLVkcg/G9HcBCkfOIoTdd4mu6YALrXuuGXILK3zKba +9TojIfMCUEEHMElNVfpvWuDPslhRohhum0kaClJPyz5+RE/6uQyZaXofhsRu9KyF +71K/Dvchk+ctdHUe+8DK3YaZglqQOfkVEG8AOePZSO6/pRIqaDtMwEjrfV+Din1E +wh/0rMEjqYhRLixR5/iEl2VwdZdBlJ5ISzgRNwIDAQABAoIBAC3/v+CnZ2vPL/jP +09BP7VujkX1FsFlsao2EEBbFNbO4cubCjPiwnrxU9qa436lTQNqB2VHMqm9zlA98 +MVUMNLey0nVBtOLcDrdQeWta6AcO/74d7LkqWUyvTFhuHhh3W1PDKa2REw4uGFV+ +ONTRQuTXbp8ZqrOJhIiWU0iERW3ZppXxtSke+fpVgz2Jtrmin9Yx6ptofaRUyESY +LycpH8Ex5T01Wmnvas44iklBT8zLeSyL+EgwWjgBlmVTON10rDlZCivSgnTBo7o0 +isuiLiHQPgol/XGvnMHlOM9L8+lqqswKBz0vpuyQ6qUApPe5K8TZ4wmywHGv3utq +GC1m+bECgYEA1bAox9w/+r8J9DxRqvjg6SG5nvaTMP4Ogb2aUOxFUebLlVuTsLyF +w/YNIvtgExradv/I35qJA8YnvYGE77jQoajPJ1wNcx9mrEujPEIVeKyn0V/o98dV +6S7Z9NT4T2ElyhZWA/Uef89TomPWnZoleoewwexcfrg1C6a+8B1jMM8CgYEAynP4 +KvcM6ZzLJ4ynGe0Uw4mg2dgcaTyOK23zSsSqc12FoaMMUgof0Z+/d1KgTCL3TPvG +hUA261bgYFAuzlHXo71+QKkzQjVftrNACLStSGjDqQwb/Kb5BeuWB1VPyfDSLpKx +obxjp+vS3C8wM8fx9EN0ds1zXbxnPS+9zHRkIxkCgYAOUt2Y8AmV3EJljbmHtWEW +H32ayzp4mT8NsVDrxbqrz8WrwFS5DxoEVbTxuFnrTeyA94pWerxedWTqjgkELKZH +f9JK+B+qrNssB3Hssx1PVnt1THGIUmNO2yYfBDuUzpVC45Zmc4LU3Gflxb14GQIU +IY5WoWpd0Ck2G7pGzCF+/wKBgFDSOSlV1QbR/Fw+j1sPRXHGWLt+xeDRNuRpkW2w +02cY18cuYzXBKvCxeGs3Rhz+/ID0Jk191C7hUNPCTt042QBaHrPLmFX/HsW+C3su +PdshT7MFzYpwUgumAA/PY/n3NME4+MbbgWFBCL2z7OdPE+1ynGTtIfgyxXgsvfWI +JY3JAoGAKh11P1A1PRH6TNtWn78JkoVRCPE0mRjd01tJW5BTolK5a0yCVIOQcSBm +w59msWhfkO+HB/v97x4/AFrm84saHtVYOksv7qZBgqDT43a3b9IjBl5deMCxB9He +1W3cLtpmouXlvs6p8wTaIZI7Wr9H9Xk2WrpJQQOZ1loZbOfo6Pg= +-----END RSA PRIVATE KEY----- diff --git a/content/h2push/server/main.go b/content/h2push/server/main.go new file mode 100644 index 0000000..5cc153a --- /dev/null +++ b/content/h2push/server/main.go @@ -0,0 +1,47 @@ +// server is a server with HTTP/2 Server Push support. +package main + +import ( + "flag" + "fmt" + "log" + "net/http" +) + +var httpAddr = flag.String("http", ":8080", "Listen address") + +func main() { + flag.Parse() + http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path != "/" { + http.NotFound(w, r) + return + } + pusher, ok := w.(http.Pusher) + if ok { + // Push is supported. Try pushing rather than + // waiting for the browser request these static assets. + if err := pusher.Push("/static/app.js", nil); err != nil { + log.Printf("Failed to push: %v", err) + } + if err := pusher.Push("/static/style.css", nil); err != nil { + log.Printf("Failed to push: %v", err) + } + } + fmt.Fprintf(w, indexHTML) + }) + log.Fatal(http.ListenAndServeTLS(*httpAddr, "cert.pem", "key.pem", nil)) +} + +const indexHTML = `<html> +<head> + <title>Hello World</title> + <script src="/static/app.js"></script> + <link rel="stylesheet" href="/static/style.css""> +</head> +<body> +Hello, gopher! +</body> +</html> +` diff --git a/content/h2push/server/static/app.js b/content/h2push/server/static/app.js new file mode 100644 index 0000000..b6211f2 --- /dev/null +++ b/content/h2push/server/static/app.js @@ -0,0 +1 @@ +console.log("Hello!"); diff --git a/content/h2push/server/static/style.css b/content/h2push/server/static/style.css new file mode 100644 index 0000000..b55e615 --- /dev/null +++ b/content/h2push/server/static/style.css @@ -0,0 +1,7 @@ +body { + margin: 20px; + font-family: Arial, sans-serif; + font-size: 16px; + background-color: #fff; + line-height: 1.3em; +} |