aboutsummaryrefslogtreecommitdiff
path: root/tools/glue/vendor/github.com/cjoudrey
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2018-10-04 18:46:19 -0700
committerChristine Dodrill <me@christine.website>2018-10-04 18:46:19 -0700
commitf865c279e58fe8a2287980d79c4f07646adab88c (patch)
treee6d0b2144ffbb161f7fb0c12c6e4588566c86678 /tools/glue/vendor/github.com/cjoudrey
parent1ea65cb9255af99adcf3cd8f55e6e2f336408a73 (diff)
downloadx-f865c279e58fe8a2287980d79c4f07646adab88c.tar.xz
x-f865c279e58fe8a2287980d79c4f07646adab88c.zip
remove old stuff
Diffstat (limited to 'tools/glue/vendor/github.com/cjoudrey')
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluahttp/.gitignore24
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluahttp/.travis.yml15
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluahttp/LICENSE22
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluahttp/README.md235
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluahttp/gluahttp.go212
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluahttp/gluahttp_test.go433
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluahttp/httpresponsetype.go98
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluaurl/.gitignore24
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluaurl/.travis.yml14
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluaurl/LICENSE22
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluaurl/README.md109
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluaurl/gluaurl.go178
-rw-r--r--tools/glue/vendor/github.com/cjoudrey/gluaurl/gluaurl_test.go250
13 files changed, 0 insertions, 1636 deletions
diff --git a/tools/glue/vendor/github.com/cjoudrey/gluahttp/.gitignore b/tools/glue/vendor/github.com/cjoudrey/gluahttp/.gitignore
deleted file mode 100644
index daf913b..0000000
--- a/tools/glue/vendor/github.com/cjoudrey/gluahttp/.gitignore
+++ /dev/null
@@ -1,24 +0,0 @@
-# Compiled Object files, Static and Dynamic libs (Shared Objects)
-*.o
-*.a
-*.so
-
-# Folders
-_obj
-_test
-
-# Architecture specific extensions/prefixes
-*.[568vq]
-[568vq].out
-
-*.cgo1.go
-*.cgo2.c
-_cgo_defun.c
-_cgo_gotypes.go
-_cgo_export.*
-
-_testmain.go
-
-*.exe
-*.test
-*.prof
diff --git a/tools/glue/vendor/github.com/cjoudrey/gluahttp/.travis.yml b/tools/glue/vendor/github.com/cjoudrey/gluahttp/.travis.yml
deleted file mode 100644
index 21346e3..0000000
--- a/tools/glue/vendor/github.com/cjoudrey/gluahttp/.travis.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-language: go
-
-go:
- - 1.4
- - 1.5
- - 1.6
-
-install:
- - go get github.com/yuin/gopher-lua
-
-script:
- - go test -v
-
-notifications:
- email: false
diff --git a/tools/glue/vendor/github.com/cjoudrey/gluahttp/LICENSE b/tools/glue/vendor/github.com/cjoudrey/gluahttp/LICENSE
deleted file mode 100644
index 56a399a..0000000
--- a/tools/glue/vendor/github.com/cjoudrey/gluahttp/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Christian Joudrey
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
diff --git a/tools/glue/vendor/github.com/cjoudrey/gluahttp/README.md b/tools/glue/vendor/github.com/cjoudrey/gluahttp/README.md
deleted file mode 100644
index 9a3dcca..0000000
--- a/tools/glue/vendor/github.com/cjoudrey/gluahttp/README.md
+++ /dev/null
@@ -1,235 +0,0 @@
-# gluahttp
-
-[![](https://travis-ci.org/cjoudrey/gluahttp.svg)](https://travis-ci.org/cjoudrey/gluahttp)
-
-gluahttp provides an easy way to make HTTP requests from within [GopherLua](https://github.com/yuin/gopher-lua).
-
-## Installation
-
-```
-go get github.com/cjoudrey/gluahttp
-```
-
-## Usage
-
-```go
-import "github.com/yuin/gopher-lua"
-import "github.com/cjoudrey/gluahttp"
-
-func main() {
- L := lua.NewState()
- defer L.Close()
-
- L.PreloadModule("http", NewHttpModule(&http.Client{}).Loader)
-
- if err := L.DoString(`
-
- local http = require("http")
-
- response, error_message = http.request("GET", "http://example.com", {
- query="page=1"
- headers={
- Accept="*/*"
- }
- })
-
- `); err != nil {
- panic(err)
- }
-}
-```
-
-## API
-
-- [`http.delete(url [, options])`](#httpdeleteurl--options)
-- [`http.get(url [, options])`](#httpgeturl--options)
-- [`http.head(url [, options])`](#httpheadurl--options)
-- [`http.patch(url [, options])`](#httppatchurl--options)
-- [`http.post(url [, options])`](#httpposturl--options)
-- [`http.put(url [, options])`](#httpputurl--options)
-- [`http.request(method, url [, options])`](#httprequestmethod-url--options)
-- [`http.request_batch(requests)`](#httprequest_batchrequests)
-- [`http.response`](#httpresponse)
-
-### http.delete(url [, options])
-
-**Attributes**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| url | String | URL of the resource to load |
-| options | Table | Additional options |
-
-**Options**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| query | String | URL encoded query params |
-| cookies | Table | Additional cookies to send with the request |
-| headers | Table | Additional headers to send with the request |
-
-**Returns**
-
-[http.response](#httpresponse) or (nil, error message)
-
-### http.get(url [, options])
-
-**Attributes**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| url | String | URL of the resource to load |
-| options | Table | Additional options |
-
-**Options**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| query | String | URL encoded query params |
-| cookies | Table | Additional cookies to send with the request |
-| headers | Table | Additional headers to send with the request |
-
-**Returns**
-
-[http.response](#httpresponse) or (nil, error message)
-
-### http.head(url [, options])
-
-**Attributes**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| url | String | URL of the resource to load |
-| options | Table | Additional options |
-
-**Options**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| query | String | URL encoded query params |
-| cookies | Table | Additional cookies to send with the request |
-| headers | Table | Additional headers to send with the request |
-
-**Returns**
-
-[http.response](#httpresponse) or (nil, error message)
-
-### http.patch(url [, options])
-
-**Attributes**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| url | String | URL of the resource to load |
-| options | Table | Additional options |
-
-**Options**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| query | String | URL encoded query params |
-| cookies | Table | Additional cookies to send with the request |
-| body | String | Request body. |
-| form | String | Deprecated. URL encoded request body. This will also set the `Content-Type` header to `application/x-www-form-urlencoded` |
-| headers | Table | Additional headers to send with the request |
-
-**Returns**
-
-[http.response](#httpresponse) or (nil, error message)
-
-### http.post(url [, options])
-
-**Attributes**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| url | String | URL of the resource to load |
-| options | Table | Additional options |
-
-**Options**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| query | String | URL encoded query params |
-| cookies | Table | Additional cookies to send with the request |
-| body | String | Request body. |
-| form | String | Deprecated. URL encoded request body. This will also set the `Content-Type` header to `application/x-www-form-urlencoded` |
-| headers | Table | Additional headers to send with the request |
-
-**Returns**
-
-[http.response](#httpresponse) or (nil, error message)
-
-### http.put(url [, options])
-
-**Attributes**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| url | String | URL of the resource to load |
-| options | Table | Additional options |
-
-**Options**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| query | String | URL encoded query params |
-| cookies | Table | Additional cookies to send with the request |
-| body | String | Request body. |
-| form | String | Deprecated. URL encoded request body. This will also set the `Content-Type` header to `application/x-www-form-urlencoded` |
-| headers | Table | Additional headers to send with the request |
-
-**Returns**
-
-[http.response](#httpresponse) or (nil, error message)
-
-### http.request(method, url [, options])
-
-**Attributes**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| method | String | The HTTP request method |
-| url | String | URL of the resource to load |
-| options | Table | Additional options |
-
-**Options**
-
-| Name | Type | Description |
-| ------- | ------ | ----------- |
-| query | String | URL encoded query params |
-| cookies | Table | Additional cookies to send with the request |
-| body | String | Request body. |
-| form | String | Deprecated. URL encoded request body. This will also set the `Content-Type` header to `application/x-www-form-urlencoded` |
-| headers | Table | Additional headers to send with the request |
-
-**Returns**
-
-[http.response](#httpresponse) or (nil, error message)
-
-### http.request_batch(requests)
-
-**Attributes**
-
-| Name | Type | Description |
-| -------- | ----- | ----------- |
-| requests | Table | A table of requests to send. Each request item is by itself a table containing [http.request](#httprequestmethod-url--options) parameters for the request |
-
-**Returns**
-
-[[http.response](#httpresponse)] or ([[http.response](#httpresponse)], [error message])
-
-### http.response
-
-The `http.response` table contains information about a completed HTTP request.
-
-**Attributes**
-
-| Name | Type | Description |
-| ----------- | ------ | ----------- |
-| body | String | The HTTP response body |
-| body_size | Number | The size of the HTTP reponse body in bytes |
-| headers | Table | The HTTP response headers |
-| cookies | Table | The cookies sent by the server in the HTTP response |
-| status_code | Number | The HTTP response status code |
-| url | String | The final URL the request ended pointing to after redirects |
diff --git a/tools/glue/vendor/github.com/cjoudrey/gluahttp/gluahttp.go b/tools/glue/vendor/github.com/cjoudrey/gluahttp/gluahttp.go
deleted file mode 100644
index 567743f..0000000
--- a/tools/glue/vendor/github.com/cjoudrey/gluahttp/gluahttp.go
+++ /dev/null
@@ -1,212 +0,0 @@
-package gluahttp
-
-import "github.com/yuin/gopher-lua"
-import "net/http"
-import "fmt"
-import "errors"
-import "io/ioutil"
-import "strings"
-
-type httpModule struct {
- client *http.Client
-}
-
-type empty struct{}
-
-func NewHttpModule(client *http.Client) *httpModule {
- return &httpModule{
- client: client,
- }
-}
-
-func (h *httpModule) Loader(L *lua.LState) int {
- mod := L.SetFuncs(L.NewTable(), map[string]lua.LGFunction{
- "get": h.get,
- "delete": h.delete,
- "head": h.head,
- "patch": h.patch,
- "post": h.post,
- "put": h.put,
- "request": h.request,
- "request_batch": h.requestBatch,
- })
- registerHttpResponseType(mod, L)
- L.Push(mod)
- return 1
-}
-
-func (h *httpModule) get(L *lua.LState) int {
- return h.doRequestAndPush(L, "get", L.ToString(1), L.ToTable(2))
-}
-
-func (h *httpModule) delete(L *lua.LState) int {
- return h.doRequestAndPush(L, "delete", L.ToString(1), L.ToTable(2))
-}
-
-func (h *httpModule) head(L *lua.LState) int {
- return h.doRequestAndPush(L, "head", L.ToString(1), L.ToTable(2))
-}
-
-func (h *httpModule) patch(L *lua.LState) int {
- return h.doRequestAndPush(L, "patch", L.ToString(1), L.ToTable(2))
-}
-
-func (h *httpModule) post(L *lua.LState) int {
- return h.doRequestAndPush(L, "post", L.ToString(1), L.ToTable(2))
-}
-
-func (h *httpModule) put(L *lua.LState) int {
- return h.doRequestAndPush(L, "put", L.ToString(1), L.ToTable(2))
-}
-
-func (h *httpModule) request(L *lua.LState) int {
- return h.doRequestAndPush(L, L.ToString(1), L.ToString(2), L.ToTable(3))
-}
-
-func (h *httpModule) requestBatch(L *lua.LState) int {
- requests := L.ToTable(1)
- amountRequests := requests.Len()
-
- errs := make([]error, amountRequests)
- responses := make([]*lua.LUserData, amountRequests)
- sem := make(chan empty, amountRequests)
-
- i := 0
-
- requests.ForEach(func(_ lua.LValue, value lua.LValue) {
- requestTable := toTable(value)
-
- if requestTable != nil {
- method := requestTable.RawGet(lua.LNumber(1)).String()
- url := requestTable.RawGet(lua.LNumber(2)).String()
- options := toTable(requestTable.RawGet(lua.LNumber(3)))
-
- go func(i int, L *lua.LState, method string, url string, options *lua.LTable) {
- response, err := h.doRequest(L, method, url, options)
-
- if err == nil {
- errs[i] = nil
- responses[i] = response
- } else {
- errs[i] = err
- responses[i] = nil
- }
-
- sem <- empty{}
- }(i, L, method, url, options)
- } else {
- errs[i] = errors.New("Request must be a table")
- responses[i] = nil
- sem <- empty{}
- }
-
- i = i + 1
- })
-
- for i = 0; i < amountRequests; i++ {
- <-sem
- }
-
- hasErrors := false
- errorsTable := L.NewTable()
- responsesTable := L.NewTable()
- for i = 0; i < amountRequests; i++ {
- if errs[i] == nil {
- responsesTable.Append(responses[i])
- errorsTable.Append(lua.LNil)
- } else {
- responsesTable.Append(lua.LNil)
- errorsTable.Append(lua.LString(fmt.Sprintf("%s", errs[i])))
- hasErrors = true
- }
- }
-
- if hasErrors {
- L.Push(responsesTable)
- L.Push(errorsTable)
- return 2
- } else {
- L.Push(responsesTable)
- return 1
- }
-}
-
-func (h *httpModule) doRequest(L *lua.LState, method string, url string, options *lua.LTable) (*lua.LUserData, error) {
- req, err := http.NewRequest(strings.ToUpper(method), url, nil)
- if err != nil {
- return nil, err
- }
-
- if options != nil {
- if reqCookies, ok := options.RawGet(lua.LString("cookies")).(*lua.LTable); ok {
- reqCookies.ForEach(func(key lua.LValue, value lua.LValue) {
- req.AddCookie(&http.Cookie{Name: key.String(), Value: value.String()})
- })
- }
-
- switch reqQuery := options.RawGet(lua.LString("query")).(type) {
- case lua.LString:
- req.URL.RawQuery = reqQuery.String()
- }
-
- body := options.RawGet(lua.LString("body"))
- if _, ok := body.(lua.LString); !ok {
- // "form" is deprecated.
- body = options.RawGet(lua.LString("form"))
- // Only set the Content-Type to application/x-www-form-urlencoded
- // when someone uses "form", not for "body".
- if _, ok := body.(lua.LString); ok {
- req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
- }
- }
-
- switch reqBody := body.(type) {
- case lua.LString:
- body := reqBody.String()
- req.ContentLength = int64(len(body))
- req.Body = ioutil.NopCloser(strings.NewReader(body))
- }
-
- // Set these last. That way the code above doesn't overwrite them.
- if reqHeaders, ok := options.RawGet(lua.LString("headers")).(*lua.LTable); ok {
- reqHeaders.ForEach(func(key lua.LValue, value lua.LValue) {
- req.Header.Set(key.String(), value.String())
- })
- }
- }
-
- res, err := h.client.Do(req)
-
- if err != nil {
- return nil, err
- }
-
- defer res.Body.Close()
- body, err := ioutil.ReadAll(res.Body)
-
- if err != nil {
- return nil, err
- }
-
- return newHttpResponse(res, &body, len(body), L), nil
-}
-
-func (h *httpModule) doRequestAndPush(L *lua.LState, method string, url string, options *lua.LTable) int {
- response, err := h.doRequest(L, method, url, options)
-
- if err != nil {
- L.Push(lua.LNil)
- L.Push(lua.LString(fmt.Sprintf("%s", err)))
- return 2
- }
-
- L.Push(response)
- return 1
-}
-
-func toTable(v lua.LValue) *lua.LTable {
- if lv, ok := v.(*lua.LTable); ok {
- return lv
- }
- return nil
-}
diff --git a/tools/glue/vendor/github.com/cjoudrey/gluahttp/gluahttp_test.go b/tools/glue/vendor/github.com/cjoudrey/gluahttp/gluahttp_test.go
deleted file mode 100644
index 34c11e7..0000000
--- a/tools/glue/vendor/github.com/cjoudrey/gluahttp/gluahttp_test.go
+++ /dev/null
@@ -1,433 +0,0 @@
-package gluahttp
-
-import "github.com/yuin/gopher-lua"
-import "testing"
-import "io/ioutil"
-import "net/http"
-import "net"
-import "fmt"
-import "net/http/cookiejar"
-import "strings"
-
-func TestRequestNoMethod(t *testing.T) {
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.request()
-
- assert_equal(nil, response)
- assert_contains('unsupported protocol scheme ""', error)
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestRequestNoUrl(t *testing.T) {
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.request("get")
-
- assert_equal(nil, response)
- assert_contains('unsupported protocol scheme ""', error)
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestRequestBatch(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- responses, errors = http.request_batch({
- {"get", "http://`+listener.Addr().String()+`", {query="page=1"}},
- {"post", "http://`+listener.Addr().String()+`/set_cookie"},
- {"post", ""},
- 1
- })
-
- assert_equal(nil, errors[1])
- assert_equal(nil, errors[2])
- assert_contains('unsupported protocol scheme ""', errors[3])
- assert_equal('Request must be a table', errors[4])
-
- assert_equal('Requested GET / with query "page=1"', responses[1]["body"])
- assert_equal('Cookie set!', responses[2]["body"])
- assert_equal('12345', responses[2]["cookies"]["session_id"])
- assert_equal(nil, responses[3])
- assert_equal(nil, responses[4])
-
- responses, errors = http.request_batch({
- {"get", "http://`+listener.Addr().String()+`/get_cookie"}
- })
-
- assert_equal(nil, errors)
- assert_equal("session_id=12345", responses[1]["body"])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestRequestGet(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.request("get", "http://`+listener.Addr().String()+`")
-
- assert_equal('Requested GET / with query ""', response['body'])
- assert_equal(200, response['status_code'])
- assert_equal('29', response['headers']['Content-Length'])
- assert_equal('text/plain; charset=utf-8', response['headers']['Content-Type'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestRequestGetWithRedirect(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.request("get", "http://`+listener.Addr().String()+`/redirect")
-
- assert_equal('Requested GET / with query ""', response['body'])
- assert_equal(200, response['status_code'])
- assert_equal('http://`+listener.Addr().String()+`/', response['url'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestRequestPostForm(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.request("post", "http://`+listener.Addr().String()+`", {
- form="username=bob&password=secret"
- })
-
- assert_equal(
- 'Requested POST / with query ""' ..
- 'Content-Type: application/x-www-form-urlencoded' ..
- 'Content-Length: 28' ..
- 'Body: username=bob&password=secret', response['body'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestRequestHeaders(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.request("post", "http://`+listener.Addr().String()+`", {
- headers={
- ["Content-Type"]="application/json"
- }
- })
-
- assert_equal(
- 'Requested POST / with query ""' ..
- 'Content-Type: application/json' ..
- 'Content-Length: 0' ..
- 'Body: ', response['body'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestRequestQuery(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.request("get", "http://`+listener.Addr().String()+`", {
- query="page=2"
- })
-
- assert_equal('Requested GET / with query "page=2"', response['body'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestGet(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.get("http://`+listener.Addr().String()+`", {
- query="page=1"
- })
-
- assert_equal('Requested GET / with query "page=1"', response['body'])
- assert_equal(200, response['status_code'])
- assert_equal('35', response['headers']['Content-Length'])
- assert_equal('text/plain; charset=utf-8', response['headers']['Content-Type'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestDelete(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.delete("http://`+listener.Addr().String()+`", {
- query="page=1"
- })
-
- assert_equal('Requested DELETE / with query "page=1"', response['body'])
- assert_equal(200, response['status_code'])
- assert_equal('38', response['headers']['Content-Length'])
- assert_equal('text/plain; charset=utf-8', response['headers']['Content-Type'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestHead(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.head("http://`+listener.Addr().String()+`/head", {
- query="page=1"
- })
-
- assert_equal(200, response['status_code'])
- assert_equal("/head?page=1", response['headers']['X-Request-Uri'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestPost(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.post("http://`+listener.Addr().String()+`", {
- body="username=bob&password=secret"
- })
-
- assert_equal(
- 'Requested POST / with query ""' ..
- 'Content-Type: ' ..
- 'Content-Length: 28' ..
- 'Body: username=bob&password=secret', response['body'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestPatch(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.patch("http://`+listener.Addr().String()+`", {
- body='{"username":"bob"}',
- headers={
- ["Content-Type"]="application/json"
- }
- })
-
- assert_equal(
- 'Requested PATCH / with query ""' ..
- 'Content-Type: application/json' ..
- 'Content-Length: 18' ..
- 'Body: {"username":"bob"}', response['body'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestPut(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.put("http://`+listener.Addr().String()+`", {
- body="username=bob&password=secret",
- headers={
- ["Content-Type"]="application/x-www-form-urlencoded"
- }
- })
-
- assert_equal(
- 'Requested PUT / with query ""' ..
- 'Content-Type: application/x-www-form-urlencoded' ..
- 'Content-Length: 28' ..
- 'Body: username=bob&password=secret', response['body'])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestResponseCookies(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.get("http://`+listener.Addr().String()+`/set_cookie")
-
- assert_equal('Cookie set!', response["body"])
- assert_equal('12345', response["cookies"]["session_id"])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestRequestCookies(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.get("http://`+listener.Addr().String()+`/get_cookie", {
- cookies={
- ["session_id"]="test"
- }
- })
-
- assert_equal('session_id=test', response["body"])
- assert_equal(15, response["body_size"])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestResponseBodySize(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.get("http://`+listener.Addr().String()+`/")
-
- assert_equal(29, response["body_size"])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestResponseBody(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
- response, error = http.get("http://`+listener.Addr().String()+`/")
-
- assert_equal("Requested XXX / with query \"\"", string.gsub(response.body, "GET", "XXX"))
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func TestResponseUrl(t *testing.T) {
- listener, _ := net.Listen("tcp", "127.0.0.1:0")
- setupServer(listener)
-
- if err := evalLua(t, `
- local http = require("http")
-
- response, error = http.get("http://`+listener.Addr().String()+`/redirect")
- assert_equal("http://`+listener.Addr().String()+`/", response["url"])
-
- response, error = http.get("http://`+listener.Addr().String()+`/get_cookie")
- assert_equal("http://`+listener.Addr().String()+`/get_cookie", response["url"])
- `); err != nil {
- t.Errorf("Failed to evaluate script: %s", err)
- }
-}
-
-func evalLua(t *testing.T, script string) error {
- L := lua.NewState()
- defer L.Close()
-
- cookieJar, _ := cookiejar.New(nil)
-
- L.PreloadModule("http", NewHttpModule(&http.Client{
- Jar: cookieJar,
- },
- ).Loader)
-
- L.SetGlobal("assert_equal", L.NewFunction(func(L *lua.LState) int {
- expected := L.Get(1)
- actual := L.Get(2)
-
- if expected.Type() != actual.Type() || expected.String() != actual.String() {
- t.Errorf("Expected %s %q, got %s %q", expected.Type(), expected, actual.Type(), actual)
- }
-
- return 0
- }))
-
- L.SetGlobal("assert_contains", L.NewFunction(func(L *lua.LState) int {
- contains := L.Get(1)
- actual := L.Get(2)
-
- if !strings.Contains(actual.String(), contains.String()) {
- t.Errorf("Expected %s %q contains %s %q", actual.Type(), actual, contains.Type(), contains)
- }
-
- return 0
- }))
-
- return L.DoString(script)
-}
-
-func setupServer(listener net.Listener) {
- mux := http.NewServeMux()
- mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
- fmt.Fprintf(w, "Requested %s / with query %q", req.Method, req.URL.RawQuery)
-
- if req.Method == "POST" || req.Method == "PATCH" || req.Method == "PUT" {
- body, _ := ioutil.ReadAll(req.Body)
- fmt.Fprintf(w, "Content-Type: %s", req.Header.Get("Content-Type"))
- fmt.Fprintf(w, "Content-Length: %s", req.Header.Get("Content-Length"))
- fmt.Fprintf(w, "Body: %s", body)
- }
- })
- mux.HandleFunc("/head", func(w http.ResponseWriter, req *http.Request) {
- if req.Method == "HEAD" {
- w.Header().Set("X-Request-Uri", req.URL.String())
- w.WriteHeader(http.StatusOK)
- } else {
- w.WriteHeader(http.StatusNotFound)
- }
- })
- mux.HandleFunc("/set_cookie", func(w http.ResponseWriter, req *http.Request) {
- http.SetCookie(w, &http.Cookie{Name: "session_id", Value: "12345"})
- fmt.Fprint(w, "Cookie set!")
- })
- mux.HandleFunc("/get_cookie", func(w http.ResponseWriter, req *http.Request) {
- session_id, _ := req.Cookie("session_id")
- fmt.Fprint(w, session_id)
- })
- mux.HandleFunc("/redirect", func(w http.ResponseWriter, req *http.Request) {
- http.Redirect(w, req, "/", http.StatusFound)
- })
- s := &http.Server{
- Handler: mux,
- }
- go s.Serve(listener)
-}
diff --git a/tools/glue/vendor/github.com/cjoudrey/gluahttp/httpresponsetype.go b/tools/glue/vendor/github.com/cjoudrey/gluahttp/httpresponsetype.go
deleted file mode 100644
index 744a587..0000000
--- a/tools/glue/vendor/github.com/cjoudrey/gluahttp/httpresponsetype.go
+++ /dev/null
@@ -1,98 +0,0 @@
-package gluahttp
-
-import "github.com/yuin/gopher-lua"
-import "net/http"
-
-const luaHttpResponseTypeName = "http.response"
-
-type luaHttpResponse struct {
- res *http.Response
- body lua.LString
- bodySize int
-}
-
-func registerHttpResponseType(module *lua.LTable, L *lua.LState) {
- mt := L.NewTypeMetatable(luaHttpResponseTypeName)
- L.SetField(mt, "__index", L.NewFunction(httpResponseIndex))
-
- L.SetField(module, "response", mt)
-}
-
-func newHttpResponse(res *http.Response, body *[]byte, bodySize int, L *lua.LState) *lua.LUserData {
- ud := L.NewUserData()
- ud.Value = &luaHttpResponse{
- res: res,
- body: lua.LString(*body),
- bodySize: bodySize,
- }
- L.SetMetatable(ud, L.GetTypeMetatable(luaHttpResponseTypeName))
- return ud
-}
-
-func checkHttpResponse(L *lua.LState) *luaHttpResponse {
- ud := L.CheckUserData(1)
- if v, ok := ud.Value.(*luaHttpResponse); ok {
- return v
- }
- L.ArgError(1, "http.response expected")