• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang falcore.StringResponse函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/fitstar/falcore.StringResponse函数的典型用法代码示例。如果您正苦于以下问题:Golang StringResponse函数的具体用法?Golang StringResponse怎么用?Golang StringResponse使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: init

func init() {
	go func() {
		// falcore setup
		pipeline := falcore.NewPipeline()
		pipeline.Upstream.PushBack(falcore.NewRequestFilter(func(req *falcore.Request) *http.Response {
			for _, data := range eserverData {
				if data.path == req.HttpRequest.URL.Path {
					header := make(http.Header)
					header.Set("Etag", data.etag)
					if data.chunked {
						buf := new(bytes.Buffer)
						buf.Write(data.body)
						res := falcore.SimpleResponse(req.HttpRequest, data.status, header, -1, ioutil.NopCloser(buf))
						res.TransferEncoding = []string{"chunked"}
						return res
					} else {
						return falcore.StringResponse(req.HttpRequest, data.status, header, string(data.body))
					}
				}
			}
			return falcore.StringResponse(req.HttpRequest, 404, nil, "Not Found")
		}))

		pipeline.Downstream.PushBack(new(EtagFilter))

		esrv = falcore.NewServer(0, pipeline)
		if err := esrv.ListenAndServe(); err != nil {
			panic("Could not start falcore")
		}
	}()
}
开发者ID:dcmrlee,项目名称:falcore,代码行数:31,代码来源:etag_test.go


示例2: FilterRequest

// Handle upload
func (f UploadFilter) FilterRequest(request *falcore.Request) *http.Response {
	multipartReader, error := request.HttpRequest.MultipartReader()

	if error == http.ErrNotMultipart {
		return falcore.StringResponse(request.HttpRequest, http.StatusBadRequest, nil, "Bad Request // Not Multipart")
	} else if error != nil {
		return falcore.StringResponse(request.HttpRequest, http.StatusInternalServerError, nil, "Upload Error: "+error.Error()+"\n")
	}

	length := request.HttpRequest.ContentLength
	fmt.Println("content length:", length)

	part, error := multipartReader.NextPart()
	if error != io.EOF {
		var read int64
		var percent, previousPercent float64
		var filename string

		// find non existing filename
		for i := 1; ; i++ {
			filename = fmt.Sprintf("uploadedFile%v.mov", i)
			_, err := os.Stat(filename)
			if os.IsNotExist(err) {
				break
			}
		}

		fmt.Println(filename)
		destination, error := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE, 0644)
		if error != nil {
			return falcore.StringResponse(request.HttpRequest, http.StatusInternalServerError, nil, "Internal Server Error // Could not create file")
		}

		buffer := make([]byte, 1024) // 100 kB
		for {
			byteCount, error := part.Read(buffer)
			read += int64(byteCount)
			percent = math.Floor(float64(read)/float64(length)*100) + 1

			if error == io.EOF {
				break
			} else if read > maxUploadBytes {
				fmt.Println("file too big")
				return falcore.StringResponse(request.HttpRequest, http.StatusRequestEntityTooLarge, nil, "Request Entity Too Large")
			}

			if percent != previousPercent {
				previousPercent = percent
				fmt.Printf("progress %v%%, read %fmb, %v byte of %v\n", percent, (float64(read) / (1024 * 1024)), read, length)
			}
			destination.Write(buffer)
		}
	}

	return falcore.StringResponse(request.HttpRequest, http.StatusOK, nil, "upload finished\n")
}
开发者ID:newspeak,项目名称:newspeak-server,代码行数:57,代码来源:upload.go


示例3: FilterRequest

func (f helloFilter) FilterRequest(req *falcore.Request) *http.Response {
	if req.HttpRequest.URL.Path == "/fast" {
		return falcore.StringResponse(req.HttpRequest, 200, nil, string("Hello, world!"))
	}
	if req.HttpRequest.URL.Path == "/slow" {
		time.Sleep(5 * time.Second)
		return falcore.StringResponse(req.HttpRequest, 200, nil, string("Hello, world!"))
	}
	if req.HttpRequest.URL.Path == "/panic" {
		panic("There is no need for panic")
		return falcore.StringResponse(req.HttpRequest, 200, nil, string("Hello, world!"))
	}

	return falcore.StringResponse(req.HttpRequest, 404, nil, "Not Found")
}
开发者ID:deferpanic,项目名称:dpfalcore,代码行数:15,代码来源:example.go


示例4: SuccessResponse

// return response message with encoded json data and http status code 200 (OK)
func SuccessResponse(request *falcore.Request, jsonData interface{}) *http.Response {
	response, jsonError := falcore.JSONResponse(request.HttpRequest, http.StatusOK, nil, jsonData)
	if jsonError != nil {
		response = falcore.StringResponse(request.HttpRequest, http.StatusInternalServerError, nil, fmt.Sprintf("JSON error: %s", jsonError))
	}
	return response
}
开发者ID:newspeak,项目名称:newspeak-server,代码行数:8,代码来源:response_messages.go


示例5: NewLandingFilter

// NewLandingFilter generates a Falcore RequestFilter that produces a simple
// landing page.
func NewLandingFilter() falcore.RequestFilter {
	log().Debug("registering a new landing filter")

	return falcore.NewRequestFilter(
		func(req *falcore.Request) *http.Response {
			log().Info("running landing filter")

			return falcore.StringResponse(
				req.HttpRequest,
				200,
				nil,
				"<html><head><title>"+
					"Pullcord Landing Page"+
					"</title></head><body><h1>"+
					"Pullcord Landing Page"+
					"</h1><p>"+
					"This is the landing page for Pullcord, "+
					"a reverse proxy for cloud-based web apps "+
					"that allows the servers the web apps run on "+
					"to be turned off when not in use."+
					"</p><p>"+
					"If you are unsure of how to proceed, "+
					"please contact the site administrator."+
					"</p></body></html>",
			)
		},
	)
}
开发者ID:stuphlabs,项目名称:pullcord,代码行数:30,代码来源:landing.go


示例6: FilterRequest

func (f *FileFilter) FilterRequest(req *falcore.Request) (res *http.Response) {
	// Clean asset path
	asset_path := filepath.Clean(filepath.FromSlash(req.HttpRequest.URL.Path))

	// Resolve PathPrefix
	if strings.HasPrefix(asset_path, f.PathPrefix) {
		asset_path = asset_path[len(f.PathPrefix):]
	} else {
		falcore.Debug("%v doesn't match prefix %v", asset_path, f.PathPrefix)
		res = falcore.StringResponse(req.HttpRequest, 404, nil, "Not found.")
		return
	}

	// Resolve FSBase
	if f.BasePath != "" {
		asset_path = filepath.Join(f.BasePath, asset_path)
	} else {
		falcore.Error("file_filter requires a BasePath")
		return falcore.StringResponse(req.HttpRequest, 500, nil, "Server Error\n")
	}

	// Open File
	if file, err := os.Open(asset_path); err == nil {
		// Make sure it's an actual file
		if stat, err := file.Stat(); err == nil && stat.Mode()&os.ModeType == 0 {
			res = &http.Response{
				Request:       req.HttpRequest,
				StatusCode:    200,
				Proto:         "HTTP/1.1",
				ProtoMajor:    1,
				ProtoMinor:    1,
				Body:          file,
				Header:        make(http.Header),
				ContentLength: stat.Size(),
			}
			if ct := mime.TypeByExtension(filepath.Ext(asset_path)); ct != "" {
				res.Header.Set("Content-Type", ct)
			}
		} else {
			file.Close()
		}
	} else {
		falcore.Finest("Can't open %v: %v", asset_path, err)
	}
	return
}
开发者ID:kelsieflynn,项目名称:falcore,代码行数:46,代码来源:file_filter.go


示例7: notImplementedError

func notImplementedError(request *falcore.Request) *http.Response {
	return falcore.StringResponse(
		request.HttpRequest,
		501,
		nil,
		"<html><body><h1>Not Implemented</h1>"+
			"<p>The requested behavior has not yet been implemented."+
			"Please contact your system administrator.</p></body></html>",
	)
}
开发者ID:stuphlabs,项目名称:pullcord,代码行数:10,代码来源:login_handler.go


示例8: internalServerError

func internalServerError(request *falcore.Request) *http.Response {
	return falcore.StringResponse(
		request.HttpRequest,
		500,
		nil,
		"<html><body><h1>Internal Server Error</h1>"+
			"<p>An internal server error occured."+
			"Please contact your system administrator.</p></body></html>",
	)
}
开发者ID:stuphlabs,项目名称:pullcord,代码行数:10,代码来源:login_handler.go


示例9: FilterRequest

func (f *FileFilter) FilterRequest(req *falcore.Request) (res *http.Response) {
	// Clean asset path
	asset_path := filepath.Clean(filepath.FromSlash(req.HttpRequest.URL.Path))

	// Resolve PathPrefix
	if strings.HasPrefix(asset_path, f.PathPrefix) {
		asset_path = asset_path[len(f.PathPrefix):]
	} else {
		// The requested path doesn't fall into the scope of paths that are supposed to be handled by this filter
		return
	}

	// Resolve FSBase
	if f.BasePath != "" {
		asset_path = filepath.Join(f.BasePath, asset_path)
	} else {
		falcore.Error("file_filter requires a BasePath")
		return falcore.StringResponse(req.HttpRequest, 500, nil, "Server Error\n")
	}

	// Open File
	if file, err := os.Open(asset_path); err == nil {
		// If it's a directory, try opening the directory index
		if stat, err := file.Stat(); f.DirectoryIndex != "" && err == nil && stat.Mode()&os.ModeDir > 0 {
			file.Close()

			asset_path = filepath.Join(asset_path, f.DirectoryIndex)
			if file, err = os.Open(asset_path); err != nil {
				return
			}
		}

		// Make sure it's an actual file
		if stat, err := file.Stat(); err == nil && stat.Mode()&os.ModeType == 0 {
			res = &http.Response{
				Request:       req.HttpRequest,
				StatusCode:    200,
				Proto:         "HTTP/1.1",
				ProtoMajor:    1,
				ProtoMinor:    1,
				Body:          file,
				Header:        make(http.Header),
				ContentLength: stat.Size(),
			}
			if ct := mime.TypeByExtension(filepath.Ext(asset_path)); ct != "" {
				res.Header.Set("Content-Type", ct)
			}
		} else {
			file.Close()
		}
	} else {
		falcore.Finest("Can't open %v: %v", asset_path, err)
	}
	return
}
开发者ID:dcmrlee,项目名称:falcore,代码行数:55,代码来源:file_filter.go


示例10: init

func init() {
	go func() {
		// falcore setup
		pipeline := falcore.NewPipeline()
		pipeline.Upstream.PushBack(falcore.NewRequestFilter(func(req *falcore.Request) *http.Response {
			for _, data := range eserverData {
				if data.path == req.HttpRequest.URL.Path {
					header := make(http.Header)
					header.Set("Etag", data.etag)
					return falcore.StringResponse(req.HttpRequest, data.status, header, string(data.body))
				}
			}
			return falcore.StringResponse(req.HttpRequest, 404, nil, "Not Found")
		}))

		pipeline.Downstream.PushBack(new(EtagFilter))

		esrv = falcore.NewServer(0, pipeline)
		if err := esrv.ListenAndServe(); err != nil {
			panic("Could not start falcore")
		}
	}()
}
开发者ID:dgrijalva,项目名称:falcore,代码行数:23,代码来源:etag_test.go


示例11: loginPage

func loginPage(
	request *falcore.Request,
	sesh Session,
	badCreds bool,
) *http.Response {
	return falcore.StringResponse(
		request.HttpRequest,
		501,
		nil,
		"<html><body><h1>Not Implemented</h1>"+
			"<p>The requested behavior has not yet been implemented."+
			"Please contact your system administrator.</p></body></html>",
	)
}
开发者ID:stuphlabs,项目名称:pullcord,代码行数:14,代码来源:login_handler.go


示例12: TestUpstreamThrottle

func TestUpstreamThrottle(t *testing.T) {
	// Start a test server
	sleepPipe := falcore.NewPipeline()
	sleepPipe.Upstream.PushBack(falcore.NewRequestFilter(func(req *falcore.Request) *http.Response {
		time.Sleep(time.Second)
		return falcore.StringResponse(req.HttpRequest, 200, nil, "OK")
	}))
	sleepSrv := falcore.NewServer(0, sleepPipe)
	go func() {
		sleepSrv.ListenAndServe()
	}()
	<-sleepSrv.AcceptReady

	// Build Upstream
	up := NewUpstream(NewUpstreamTransport("localhost", sleepSrv.Port(), 0, nil))
	// pipe := falcore.NewPipeline()
	// pipe.Upstream.PushBack(up)

	resCh := make(chan *http.Response, 10)
	var i int64 = 1
	for ; i < 12; i++ {
		start := time.Now()
		up.SetMaxConcurrent(i)

		for j := 0; j < 10; j++ {
			go func() {
				req, _ := http.NewRequest("GET", "/", nil)
				_, res := falcore.TestWithRequest(req, up, nil)
				resCh <- res
				// fmt.Println("OK")
			}()
		}
		for j := 0; j < 10; j++ {
			res := <-resCh
			if res.StatusCode != 200 {
				t.Fatalf("Error: %v", res)
			}
		}

		duration := time.Since(start)
		seconds := float64(duration) / float64(time.Second)
		goal := math.Ceil(10.0 / float64(i))
		// fmt.Println(i, "Time:", seconds, "Goal:", goal)
		if seconds < goal {
			t.Errorf("%v: Too short: %v < %v", i, seconds, goal)
		}
	}

}
开发者ID:kelsieflynn,项目名称:falcore,代码行数:49,代码来源:upstream_test.go


示例13: ErrorResponse

// return response message with encoded json error message and a custom error code
// if logMessage is nil, do not write to log
func ErrorResponse(request *falcore.Request, status int, error string, errorDescription string, logMessage error) *http.Response {
	if logMessage != nil {
		log.Println(fmt.Sprintf("%s: %s, %s", error, errorDescription, logMessage))
	}

	type Json struct {
		Error            string
		ErrorDescription string
	}
	json := Json{error, errorDescription}

	response, jsonError := falcore.JSONResponse(request.HttpRequest, status, nil, json)
	if jsonError != nil {
		response = falcore.StringResponse(request.HttpRequest, http.StatusInternalServerError, nil, fmt.Sprintf("JSON error: %s", jsonError))
		log.Println(fmt.Sprintf("%s: %s, %s, json error:", error, errorDescription, logMessage, jsonError))
	}
	return response
}
开发者ID:newspeak,项目名称:newspeak-server,代码行数:20,代码来源:response_messages.go


示例14: Filter

// very simple request filter
func Filter(request *falcore.Request) *http.Response {
	return falcore.StringResponse(request.HttpRequest, 200, nil, "OK\n")
}
开发者ID:dcmrlee,项目名称:falcore,代码行数:4,代码来源:hot_restart.go


示例15: FilterRequest

func (f helloFilter) FilterRequest(req *falcore.Request) *http.Response {
	return falcore.StringResponse(req.HttpRequest, 200, nil, "hello world!\n")
}
开发者ID:dcmrlee,项目名称:falcore,代码行数:3,代码来源:blog_example.go


示例16:

					"</li>"
		}
		content += "</ul><h1>context</h1><ul>"
		sesh := req.Context["session"].(*MinSession)
		for key, val := range sesh.GetValues() {
			content +=
				"<li class=\"sesh\">" +
					key +
					": " +
					gostring(val) +
					"</li>"
		}
		content += "</ul></body></html>"
		return falcore.StringResponse(
			req.HttpRequest,
			200,
			nil,
			content,
		)
	},
)

var errorPage = falcore.NewRequestFilter(
	func(req *falcore.Request) *http.Response {
		// BUG(proidiot) issue-#45: Does not print context or cookies
		return falcore.StringResponse(
			req.HttpRequest,
			500,
			nil,
			"<html><body><p>"+
				"internal server error"+
				"</p></body></html>",
开发者ID:stuphlabs,项目名称:pullcord,代码行数:32,代码来源:cookiemask_test.go


示例17: FilterRequest


//.........这里部分代码省略.........
	} else if len(uVals) != 1 || len(pVals) != 1 {
		log().Info(
			"login handler received multi values for username or" +
				" password",
		)
		errString = "Bad request"
	} else if err = handler.PasswordChecker.CheckPassword(
		uVals[0],
		pVals[0],
	); err == NoSuchIdentifierError {
		log().Info("login handler received bad username")
		errString = "Invalid credentials"
	} else if err == BadPasswordError {
		log().Info("login handler received bad password")
		errString = "Invalid credentials"
	} else if err != nil {
		log().Err(
			fmt.Sprintf(
				"login handler error during CheckPassword: %v",
				err,
			),
		)
		return internalServerError(request)
	} else if err = sesh.SetValue(authSeshKey, true); err != nil {
		log().Err(
			fmt.Sprintf(
				"login handler error during auth set: %v",
				err,
			),
		)
		return internalServerError(request)
	} else {
		log().Notice(
			fmt.Sprintf(
				"login successful for: %s",
				uVals[0],
			),
		)
		return handler.Downstream.FilterRequest(request)
	}

	rawXsrfToken := make([]byte, XsrfTokenLength)
	if rsize, err := rand.Read(
		rawXsrfToken[:],
	); err != nil || rsize != XsrfTokenLength {
		log().Err(
			fmt.Sprintf(
				"login handler error during xsrf generation:"+
					" len expected: %u, actual: %u, err: %v",
				XsrfTokenLength,
				rsize,
				err,
			),
		)
		return internalServerError(request)
	}
	nextXsrfToken := hex.EncodeToString(rawXsrfToken)

	if err = sesh.SetValue(xsrfKey, nextXsrfToken); err != nil {
		log().Err(
			fmt.Sprintf(
				"login handler error during xsrf set: %v",
				err,
			),
		)
		return internalServerError(request)
	}

	errMarkup := ""
	if errString != "" {
		errMarkup = fmt.Sprintf(
			"<label class=\"error\">%s</label>",
			errString,
		)
	}

	return falcore.StringResponse(
		request.HttpRequest,
		200,
		nil,
		fmt.Sprintf(
			"<html><head><title>Pullcord Login</title></head>"+
				"<body><form method=\"POST\" action=\"%s\">"+
				"<fieldset><legend>Pullcord Login</legend>%s<label "+
				"for=\"username\">Username:</label><input "+
				"type=\"text\" name=\"%s\" id=\"username\" /><label "+
				"for=\"password\">Password:</label><input "+
				"type=\"password\" name=\"%s\" id=\"password\" />"+
				"<input type=\"hidden\" name=\"%s\" value=\"%s\" />"+
				"<input type=\"submit\" value=\"Login\"/></fieldset>"+
				"</form></body></html>",
			request.HttpRequest.URL.Path,
			errMarkup,
			usernameKey,
			passwordKey,
			xsrfKey,
			nextXsrfToken,
		),
	)
}
开发者ID:stuphlabs,项目名称:pullcord,代码行数:101,代码来源:login_handler.go


示例18: FilterRequest

// catch all filter: if no filter matched, return 404 not found as default response
func (f NotFoundFilter) FilterRequest(request *falcore.Request) *http.Response {
	return falcore.StringResponse(request.HttpRequest, http.StatusNotFound, nil, "Not Found")
}
开发者ID:newspeak,项目名称:newspeak-server,代码行数:4,代码来源:other_filters.go


示例19: TestPassthruLoginPage

func TestPassthruLoginPage(t *testing.T) {
	/* setup */
	testUser := "testUser"
	testPassword := "[email protected]"

	downstreamFilter := falcore.NewRequestFilter(
		func(request *falcore.Request) *http.Response {
			return falcore.StringResponse(
				request.HttpRequest,
				200,
				nil,
				"<html><body><p>logged in</p></body></html>",
			)
		},
	)
	sessionHandler := NewMinSessionHandler(
		"testSessionHandler",
		"/",
		"example.com",
	)
	hash, err := GetPbkdf2Hash(testPassword, Pbkdf2MinIterations)
	assert.NoError(t, err)
	passwordChecker := InMemPwdStore{
		map[string]*Pbkdf2Hash{
			testUser: hash,
		},
	}

	request1, err := http.NewRequest("GET", "/", nil)
	assert.NoError(t, err)

	/* run */
	handler := &LoginHandler{
		"testLoginHandler",
		&passwordChecker,
		downstreamFilter,
	}
	filter := &CookiemaskFilter{
		sessionHandler,
		handler,
		falcore.NewRequestFilter(
			func(request *falcore.Request) *http.Response {
				return internalServerError(request)
			},
		),
	}

	_, response1 := falcore.TestWithRequest(request1, filter, nil)
	assert.Equal(t, 200, response1.StatusCode)
	assert.NotEmpty(t, response1.Header["Set-Cookie"])

	content1, err := ioutil.ReadAll(response1.Body)
	assert.NoError(t, err)
	htmlRoot, err := html.Parse(bytes.NewReader(content1))
	assert.NoError(t, err)
	xsrfToken, err := getXsrfToken(htmlRoot, "xsrf-"+handler.Identifier)
	assert.NoError(t, err)

	postdata2 := url.Values{}
	postdata2.Add("xsrf-"+handler.Identifier, xsrfToken)
	postdata2.Add("username-"+handler.Identifier, testUser)
	postdata2.Add("password-"+handler.Identifier, testPassword)

	request2, err := http.NewRequest(
		"POST",
		"/",
		strings.NewReader(postdata2.Encode()),
	)
	request2.Header.Set(
		"Content-Type",
		"application/x-www-form-urlencoded",
	)
	assert.NoError(t, err)

	for _, cke := range response1.Cookies() {
		request2.AddCookie(cke)
	}

	_, response2 := falcore.TestWithRequest(request2, filter, nil)

	assert.Equal(t, 200, response2.StatusCode)

	content2, err := ioutil.ReadAll(response2.Body)
	assert.NoError(t, err)
	assert.True(
		t,
		strings.Contains(string(content2), "logged in"),
		"content is: "+string(content2),
	)

	request3, err := http.NewRequest("GET", "/", nil)
	assert.NoError(t, err)
	for _, cke := range response1.Cookies() {
		request3.AddCookie(cke)
	}

	_, response3 := falcore.TestWithRequest(request3, filter, nil)

	/* check */
	assert.Equal(t, 200, response3.StatusCode)
//.........这里部分代码省略.........
开发者ID:stuphlabs,项目名称:pullcord,代码行数:101,代码来源:login_handler_test.go


示例20: TestInitialLoginPage

func TestInitialLoginPage(t *testing.T) {
	/* setup */
	testUser := "testUser"
	testPassword := "[email protected]"

	downstreamFilter := falcore.NewRequestFilter(
		func(request *falcore.Request) *http.Response {
			return falcore.StringResponse(
				request.HttpRequest,
				200,
				nil,
				"<html><body><p>logged in</p></body></html>",
			)
		},
	)
	sessionHandler := NewMinSessionHandler(
		"testSessionHandler",
		"/",
		"example.com",
	)
	hash, err := GetPbkdf2Hash(testPassword, Pbkdf2MinIterations)
	assert.NoError(t, err)
	passwordChecker := InMemPwdStore{
		map[string]*Pbkdf2Hash{
			testUser: hash,
		},
	}

	request, err := http.NewRequest("GET", "/", nil)
	assert.NoError(t, err)

	/* run */
	handler := &LoginHandler{
		"testLoginHandler",
		&passwordChecker,
		downstreamFilter,
	}
	filter := &CookiemaskFilter{
		sessionHandler,
		handler,
		falcore.NewRequestFilter(
			func(request *falcore.Request) *http.Response {
				return internalServerError(request)
			},
		),
	}
	_, response := falcore.TestWithRequest(request, filter, nil)

	/* check */
	assert.Equal(t, 200, response.StatusCode)

	content, err := ioutil.ReadAll(response.Body)
	assert.NoError(t, err)
	assert.True(
		t,
		strings.Contains(string(content), "xsrf-testLoginHandler"),
		"content is: "+string(content),
	)
	assert.False(
		t,
		strings.Contains(string(content), "error"),
		"content is: "+string(content),
	)

	assert.NotEmpty(t, response.Header["Set-Cookie"])
}
开发者ID:stuphlabs,项目名称:pullcord,代码行数:66,代码来源:login_handler_test.go



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang falcore.TestWithRequest函数代码示例发布时间:2022-05-23
下一篇:
Golang falcore.NewRequestFilter函数代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap