当前位置: 首页>>代码示例>>Golang>>正文


Golang Engine.ServeHTTP方法代码示例

本文整理汇总了Golang中github.com/gin-gonic/gin.Engine.ServeHTTP方法的典型用法代码示例。如果您正苦于以下问题:Golang Engine.ServeHTTP方法的具体用法?Golang Engine.ServeHTTP怎么用?Golang Engine.ServeHTTP使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/gin-gonic/gin.Engine的用法示例。


在下文中一共展示了Engine.ServeHTTP方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: request

func request(method, path string, body io.Reader, ct string, e *gin.Engine) (int, string) {
	r, _ := http.NewRequest(method, path, body)
	if body != nil && ct != "" {
		r.Header.Set("Content-Type", ct)
	}
	w := httptest.NewRecorder()
	e.ServeHTTP(w, r)
	return w.Code, w.Body.String()
}
开发者ID:mitre,项目名称:ptmatch,代码行数:9,代码来源:server_test.go

示例2: request

func request(server *gin.Engine, method string, uri string) *httptest.ResponseRecorder {

	w := httptest.NewRecorder()
	req, err := http.NewRequest(method, uri, nil)

	server.ServeHTTP(w, req)

	if err != nil {
		panic(err)
	}

	return w
}
开发者ID:brainqi1991,项目名称:mdsession,代码行数:13,代码来源:mdsession_test.go

示例3: request

func request(server *gin.Engine, options requestOptions) *httptest.ResponseRecorder {
	if options.Method == "" {
		options.Method = "GET"
	}

	w := httptest.NewRecorder()
	req, err := http.NewRequest(options.Method, options.URL, options.Body)

	if options.Headers != nil {
		for key, value := range options.Headers {
			req.Header.Set(key, value)
		}
	}

	server.ServeHTTP(w, req)

	if err != nil {
		panic(err)
	}

	return w
}
开发者ID:tommy351,项目名称:gin-cors,代码行数:22,代码来源:cors_test.go

示例4:

		recorder = httptest.NewRecorder()
	})

	AfterEach(func() {
		databaseDB.Current.DropDatabase()
	})

	Describe("GET /v1/parliamentarians", func() {
		BeforeEach(func() {
			request, _ = http.NewRequest("GET", "/v1/parliamentarians", nil)
		})

		Context("when no parliamentarians exist", func() {
			It("returns a status code of 200", func() {
				r.ServeHTTP(recorder, request)
				Expect(recorder.Code).To(Equal(200))
			})

			It("returns a empty body", func() {
				r.ServeHTTP(recorder, request)
				Expect(recorder.Body.String()).To(Equal("{\"parliamentarians\":[]}\n"))
			})
		})

		Context("when parliamentarians exist", func() {
			BeforeEach(func() {
				databaseDB.Create(models.Parliamentarian{Name: "Jose"})
				databaseDB.Create(models.Parliamentarian{Name: "Joao"})
			})
开发者ID:zannet,项目名称:api,代码行数:29,代码来源:service_test.go

示例5:

		chocStorage := storage.NewChocolateStorage()
		api.AddResource(model.User{}, resource.UserResource{ChocStorage: chocStorage, UserStorage: userStorage})
		api.AddResource(model.Chocolate{}, resource.ChocolateResource{ChocStorage: chocStorage, UserStorage: userStorage})
	})

	BeforeEach(func() {
		log.SetOutput(ioutil.Discard)
		rec = httptest.NewRecorder()
	})

	Context("CRUD Tests", func() {
		It("will create a new user", func() {
			reqBody := strings.NewReader(`{"data": [{"attributes": {"username": "Sansa Stark"}, "id": "1", "type": "users"}]}`)
			req, err := http.NewRequest("POST", "/api/users", reqBody)
			Expect(err).To(BeNil())
			gg.ServeHTTP(rec, req)
			Expect(rec.Code).To(Equal(http.StatusCreated))
		})

		It("will find her", func() {
			expectedUser := `
			{
				"data":
				{
					"attributes":{
						"user-name":"Sansa Stark"
					},
					"id":"1",
					"relationships":{
						"sweets":{
							"data":[],"links":{"related":"/api/users/1/sweets","self":"/api/users/1/relationships/sweets"}
开发者ID:pegli,项目名称:api2go-adapter,代码行数:31,代码来源:gingonic_test.go

示例6:

		// Clear the database after each test.
		//session.DB(dbName).DropDatabase()
		repo.Cleanup()
	})

	Describe("GET /status", func() {

		// Set up a new GET request before every test
		// in this describe block.
		BeforeEach(func() {
			request, _ = http.NewRequest("GET", "/status", nil)
		})

		Context("when service is running", func() {
			It("returns a status code of 200", func() {
				server.ServeHTTP(recorder, request)
				fmt.Printf("%v\n", recorder)
				Expect(recorder.Code).To(Equal(200))
			})
		})
	})

	Describe("GET /[email protected]", func() {

		var credentials *Credentials

		// Set up a new GET request before every test
		// in this describe block.
		BeforeEach(func() {
			request, _ = http.NewRequest("GET", "/api/[email protected]", nil)
		})
开发者ID:LukeAtherton,项目名称:authenticator,代码行数:31,代码来源:authenticator_test.go

示例7: request

func request(engine *gin.Engine) func(*duktape.Context) int {
	return func(ctx *duktape.Context) int {
		res := map[string]interface{}{}
		req := map[string]interface{}{}
		// read first argument
		err := json.Unmarshal([]byte(ctx.GetString(1)), &req)
		if err != nil {
			res["code"] = http.StatusInternalServerError
			res["body"] = err.Error()
			return pushToCtxAndExit(ctx, res)
		}

		if ctx.GetTop() != 2 {
			res["code"] = http.StatusInternalServerError
			res["body"] = "request object not found"
			return pushToCtxAndExit(ctx, res)
		}

		method := req["method"].(string)
		url := req["url"].(string)
		// it needs to make crossdomain request from server side, if need
		if strings.HasPrefix(url, "//") || strings.HasPrefix(url, "http") {
			url = "/away?url=" + url
		}

		header := make(map[string]interface{})
		if h, ok := req["headers"]; ok && h != nil {
			header = h.(map[string]interface{})
		}
		var body io.Reader
		if b, ok := req["body"]; ok {
			if _b, ok := b.(string); ok {
				body = bytes.NewReader([]byte(_b))
			}
		}

		response := httptest.NewRecorder()
		request, err := http.NewRequest(
			method,
			url,
			body,
		)

		// TODO: copy cookie to request
		for k, v := range header {
			request.Header.Add(k, v.(string))
		}
		request.Header.Add("X-Server-React", "true")

		// make request
		engine.ServeHTTP(response, request)

		rheaders := map[string][]string{}
		for k, v := range response.HeaderMap {
			rheaders[k] = v
		}
		res["headers"] = rheaders
		res["code"] = response.Code
		res["body"] = response.Body.String()
		if err != nil {
			res["code"] = http.StatusInternalServerError
			res["body"] = err.Error()
		}

		return pushToCtxAndExit(ctx, res)
	}
}
开发者ID:aranair,项目名称:squashdb,代码行数:67,代码来源:react.go

示例8: makeRequest

func makeRequest(router *gin.Engine, httpMethod string, url string) {
	request, _ := http.NewRequest(httpMethod, url, nil)
	responseRecorder := httptest.NewRecorder()
	router.ServeHTTP(responseRecorder, request)
}
开发者ID:descomplica,项目名称:pencil,代码行数:5,代码来源:pencil-utils-test-helpers.go

示例9: performRequest

func performRequest(router *gin.Engine, path string) *httptest.ResponseRecorder {
	w := httptest.NewRecorder()
	req, _ := http.NewRequest("GET", path, nil)
	router.ServeHTTP(w, req)
	return w
}
开发者ID:gin-contrib,项目名称:secure,代码行数:6,代码来源:secure_test.go


注:本文中的github.com/gin-gonic/gin.Engine.ServeHTTP方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。