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

Golang routes.ServeJson函数代码示例

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

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



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

示例1: printResult

func printResult(w http.ResponseWriter, status int, message string, valueType interface{}) {
	w.WriteHeader(status)
	if isStatusNotOK(w, status, message) {
		routes.ServeJson(w, service.GetErrorMessageType(status, message))
		return
	}
	routes.ServeJson(w, service.GetGeneralMsgType(status, message, valueType))
}
开发者ID:haluanice,项目名称:koneksee,代码行数:8,代码来源:UserController.go


示例2: getPoint

// GET /points/:id
func getPoint(w http.ResponseWriter, r *http.Request) {
	params := r.URL.Query()
	id, _ := strconv.Atoi(params.Get(":id"))

	var result Point
	err := Points.Find(bson.M{"id": id}).One(&result)
	if err != nil {
		routes.ServeJson(w, Response{"error", 404, "Not Found", nil})
		return
	}
	routes.ServeJson(w, result)
}
开发者ID:the-varlog,项目名称:wego,代码行数:13,代码来源:points.go


示例3: removePoint

// DELETE /points/:id
func removePoint(w http.ResponseWriter, r *http.Request) {
	badRequestError := Response{"error", 400, "Bad Request", nil}
	params := r.URL.Query()
	id, _ := strconv.Atoi(params.Get(":id"))

	err := Points.Remove(bson.M{"id": id})
	if err != nil {
		routes.ServeJson(w, badRequestError)
		return
	}
	routes.ServeJson(w, Response{"succsess", 200, "", nil})
}
开发者ID:the-varlog,项目名称:wego,代码行数:13,代码来源:points.go


示例4: CreateUser

func CreateUser(w http.ResponseWriter, r *http.Request) {
	if r.Header.Get("Authorization") != "1234" {
		w.WriteHeader(500)
		return
	}
	NewUser := atomicUser(newUserJson(r.Body))
	if NewUser.PhoneNumber == "" {
		w.WriteHeader(422)
		routes.ServeJson(w, service.GetErrorMessageType(422, "phone_number is empty"))
		return
	}

	mobileBytes := []byte(NewUser.PhoneNumber)
	hashedPassword, err := bcrypt.GenerateFromPassword(mobileBytes, 10)

	if isErrNotNil(w, 508, err) {
		return
	}

	SQL := fmt.Sprintf("INSERT INTO users SET user_name='%s', phone_number='%s', token = '%s'", NewUser.UserName, NewUser.PhoneNumber, hashedPassword)
	status, message, newId := service.ExecuteInsertSqlResult(SQL)
	userCreated := responses.UserCreated{int(newId), NewUser.UserName, NewUser.PhoneNumber, fmt.Sprintf("%s", hashedPassword)}
	switch {
	case status == http.StatusConflict:
		// 1. Update user_name and token in users
		field := fmt.Sprintf("user_name='%s', token = '%s'", NewUser.UserName, hashedPassword)
		condition := fmt.Sprintf("phone_number = '%s'", NewUser.PhoneNumber)
		statusUpdate, messageUpdate := service.UpdateQuery("users", field, condition)
		if isStatusNotOK(w, statusUpdate, messageUpdate) {
			return
		}
		// 2. Get user_id
		conditionSelect := fmt.Sprintf("phone_number = %s", NewUser.PhoneNumber)
		sequelSelect := service.SelectQuery("user_id", "users", conditionSelect)
		sqlRow, err := service.ExecuteChannelSqlRow(sequelSelect)
		if isErrNotNil(w, 508, err) {
			return
		}
		// 3. Check if result exists
		errSqlRow := sqlRow.Scan(&userCreated.UserId)
		statusRow, messageRow := service.CheckScanRowSQL(errSqlRow)
		if isStatusNotOK(w, statusRow, messageRow) {
			return
		}
		// 4. Return existing mobile_phone with given user_name and new token
		w.WriteHeader(statusRow)
		routes.ServeJson(w, service.GetGeneralMsgType(statusRow, messageRow, userCreated))
	default:
		w.WriteHeader(status)
		routes.ServeJson(w, service.GetGeneralMsgType(status, message, userCreated))
	}
}
开发者ID:haluanice,项目名称:koneksee,代码行数:52,代码来源:UserController.go


示例5: editPoint

// PUT /points/:id
func editPoint(w http.ResponseWriter, r *http.Request) {
	badRequestError := Response{"error", 400, "Bad Request", nil}

	var (
		point  Point
		rpoint PointFromRequest
	)

	routes.ReadJson(r, &rpoint)

	params := r.URL.Query()
	id, _ := strconv.Atoi(params.Get(":id"))

	err := Points.Find(bson.M{"id": id}).One(&point)
	if err != nil {
		fmt.Println(err)
		routes.ServeJson(w, badRequestError)
		return
	}

	if rpoint.Ssid != nil {
		point.Ssid = *rpoint.Ssid
	}

	if rpoint.Mac != nil {
		point.Mac = *rpoint.Mac
	}

	if rpoint.Password != nil {
		point.Password = *rpoint.Password
	}

	if rpoint.Latitude != nil {
		point.Latitude = *rpoint.Latitude
	}

	if rpoint.Longitude != nil {
		point.Longitude = *rpoint.Longitude
	}

	Points.Update(bson.M{"id": id}, point)
	if err != nil {
		fmt.Println(err)
		routes.ServeJson(w, badRequestError)
		return
	}

	routes.ServeJson(w, point)
}
开发者ID:the-varlog,项目名称:wego,代码行数:50,代码来源:points.go


示例6: mapChildNamespaceRoute

// mapChildNamespaceRoute sets a handler returning a dictionary of resources
// supported by a certain API version identified by the given namespace
func mapChildNamespaceRoute(route martini.Router, namespace *schema.Namespace) {
	log.Debug("[Path] %s", namespace.GetFullPrefix())
	route.Get(
		namespace.GetFullPrefix(),
		func(w http.ResponseWriter, r *http.Request, p martini.Params, context martini.Context) {
			resources := []schema.NamespaceResource{}
			for _, s := range schema.GetManager().Schemas() {
				if s.NamespaceID == namespace.ID {
					resources = append(resources, schema.NamespaceResource{
						Links: []schema.Link{
							schema.Link{
								Href: s.GetPluralURL(),
								Rel:  "self",
							},
						},
						Name:       s.Singular,
						Collection: s.Plural,
					})
				}
			}

			routes.ServeJson(w, map[string][]schema.NamespaceResource{"resources": resources})
		},
	)
}
开发者ID:vozhyk-,项目名称:gohan,代码行数:27,代码来源:api.go


示例7: FilterToken

func FilterToken(w http.ResponseWriter, r *http.Request) {
	method := r.Method
	url := fmt.Sprintf("%s", r.URL)

	allowedMethodUnAuth := (method == "POST")
	listExceptionURL := (url == "/api/v1/users" || url == "/api/v1/users/token")
	serveStaticPath := (strings.Contains(url, "/static/") && method == "GET")

	if !serveStaticPath {
		service.SetHeaderParameterJson(w)
	}

	switch {
	case serveStaticPath:
		return
	case listExceptionURL && allowedMethodUnAuth:
		return
	//TO DO: case create user auth header for api_key & secret_api
	default:
		status, message, mobilePhone := service.GetTokenHeader(r.Header.Get("Authorization"))
		r.Header.Set("mobile_phone", mobilePhone)
		r.Header.Set("status_filter", strconv.Itoa(status))
		if status != 200 {
			w.WriteHeader(status)
			routes.ServeJson(w, responses.DefaultMessage{status, message})
		}
	}
}
开发者ID:haluanice,项目名称:koneksee,代码行数:28,代码来源:Router.go


示例8: connectPoint

// POST /points/:id/connection
func connectPoint(w http.ResponseWriter, r *http.Request) {
	badRequestError := Response{"error", 400, "Bad Request", nil}
	params := r.URL.Query()
	id, _ := strconv.Atoi(params.Get(":id"))

	selector := bson.M{"id": id}
	changing := bson.M{"$inc": bson.M{"connections": 1}}
	err := Points.Update(selector, changing)
	if err != nil {
		routes.ServeJson(w, badRequestError)
		return
	}

	connectionsQueue.PushFront(connectionRecord{time.Now().Unix(), id})
	routes.ServeJson(w, Response{"succsess", 200, "", nil})
}
开发者ID:the-varlog,项目名称:wego,代码行数:17,代码来源:points.go


示例9: mapTopLevelNamespaceRoute

// mapTopLevelNamespaceRoute maps route listing available subnamespaces (versions)
// for a top-level namespace
func mapTopLevelNamespaceRoute(route martini.Router, namespace *schema.Namespace) {
	log.Debug("[Path] %s/", namespace.GetFullPrefix())
	route.Get(
		namespace.GetFullPrefix()+"/",
		func(w http.ResponseWriter, r *http.Request, p martini.Params, context martini.Context) {
			versions := []schema.Version{}
			for _, childNamespace := range schema.GetManager().Namespaces() {
				if childNamespace.Parent == namespace.ID {
					versions = append(versions, schema.Version{
						Status: "SUPPORTED",
						ID:     childNamespace.Prefix,
						Links: []schema.Link{
							schema.Link{
								Href: childNamespace.GetFullPrefix() + "/",
								Rel:  "self",
							},
						},
					})
				}
			}

			if len(versions) != 0 {
				versions[len(versions)-1].Status = "CURRENT"
			}

			routes.ServeJson(w, map[string][]schema.Version{"versions": versions})
		})
}
开发者ID:vozhyk-,项目名称:gohan,代码行数:30,代码来源:api.go


示例10: adduser

func adduser(w http.ResponseWriter, r *http.Request) {
	decoder := json.NewDecoder(r.Body)
	var p Person
	err := decoder.Decode(&p)
	if err != nil {
		fmt.Fprintf(w, "json decode error")
	}
	fmt.Fprintf(w, "id:%s name:%s %s", p.Id, p.Firstname, p.Lastname)

	if p.Firstname != "" && p.Lastname != "" {
		if insert, _ := dbmap.Exec(`INSERT INTO user (firstname, lastname) VALUES (?, ?)`,
			p.Firstname, p.Lastname); insert != nil {
			user_id, err := insert.LastInsertId()
			if err == nil {
				content := &Person{
					Id:        user_id,
					Firstname: p.Firstname,
					Lastname:  p.Lastname,
				}
				routes.ServeJson(w, content)
			}
		} else {
			fmt.Fprintf(w, "Error: insert failed")
		}
	}
	//curl --noproxy localhost http://localhost:9090/users/ -X POST -d '{ "Firstname": "Tsugunao", "Lastname" : "kobayashi"}'
}
开发者ID:TsugunaoKobayashi,项目名称:go-restful-server,代码行数:27,代码来源:main.go


示例11: isErrNotNil

func isErrNotNil(w http.ResponseWriter, status int, err error) bool {
	if err != nil {
		w.WriteHeader(status)
		routes.ServeJson(w, service.GetErrorMessageType(status, err.Error()))
		return true
	}
	return false
}
开发者ID:haluanice,项目名称:koneksee,代码行数:8,代码来源:UserController.go


示例12: isStatusNotOK

func isStatusNotOK(w http.ResponseWriter, status int, message string) bool {
	if status != http.StatusOK {
		w.WriteHeader(status)
		routes.ServeJson(w, service.GetErrorMessageType(status, message))
		return true
	}
	return false
}
开发者ID:haluanice,项目名称:koneksee,代码行数:8,代码来源:UserController.go


示例13: UploadFile

func UploadFile(w http.ResponseWriter, r *http.Request) {
	phoneNumber := r.Header.Get("phone_number")
	file, header, err := r.FormFile("file")
	statusNotAcceptable := http.StatusNotAcceptable
	// 1. Get file from form-data
	if isErrNotNil(w, statusNotAcceptable, err) {
		return
	}
	// 2. Read file
	fileType := header.Header.Get("Content-Type")

	if !allowedImageType(fileType) {
		w.WriteHeader(http.StatusUnsupportedMediaType)
		routes.ServeJson(w, service.GetErrorMessageType(http.StatusUnsupportedMediaType, "type is not allowed"))
		return
	}
	// 3. Generate new filename
	nameFile, errNewPath := service.GenerateNewPath()
	if isErrNotNil(w, statusNotAcceptable, errNewPath) {
		return
	}
	// 4. Read multipart file

	buff, errReadFile := ioutil.ReadAll(file)
	if isErrNotNil(w, statusNotAcceptable, errReadFile) {
		return
	}
	//5. Upload to cloudinary
	resChannelUpload := service.UploadImage(nameFile, buff)
	cloudinaryInfo := <-resChannelUpload
	close(resChannelUpload)
	if cloudinaryInfo.Err != nil {
		internalServerStatus := http.StatusInternalServerError
		w.WriteHeader(internalServerStatus)
		routes.ServeJson(w, service.GetErrorMessageType(internalServerStatus, "internal server error with cloudinary"))
		return
	}
	// 6. Update cloudinary path to profile user
	cloudinaryPath := cloudinaryInfo.FilePath
	field := fmt.Sprintf("profile_picture = '%s'", cloudinaryPath)
	condition := fmt.Sprintf("phone_number = '%s'", phoneNumber)
	statusUpdate, messageUpdate := service.UpdateQuery("users", field, condition)
	profilePictureUser := requests.UserProfilePictureType{phoneNumber, cloudinaryPath}
	printResult(w, statusUpdate, messageUpdate, profilePictureUser)
}
开发者ID:haluanice,项目名称:koneksee,代码行数:45,代码来源:UserController.go


示例14: getPoints

// GET /points
func getPoints(w http.ResponseWriter, r *http.Request) {
	var result []Point
	err := Points.Find(bson.M{}).All(&result)
	if err != nil {
		fmt.Println("===============================")
		fmt.Println("error: ", err)
		fmt.Println("===============================")
	}

	routes.ServeJson(w, result)
}
开发者ID:the-varlog,项目名称:wego,代码行数:12,代码来源:points.go


示例15: resultSelectUserSQL

func resultSelectUserSQL(w http.ResponseWriter, sequel string) {
	rows, err := service.ExecuteChannelSqlRows(sequel)
	internalServerStatus := http.StatusInternalServerError
	if isErrNotNil(w, internalServerStatus, err) {
		w.WriteHeader(internalServerStatus)
		routes.ServeJson(w, service.GetErrorMessageType(internalServerStatus, err.Error()))
		return
	}
	select {
	case resChanUsers := <-mapUsers(rows):
		if resChanUsers.Datas == nil {
			betterEmptyThanNil := make([]interface{}, 0)
			resChanUsers.Datas = betterEmptyThanNil
		}
		statusOK := http.StatusOK
		w.WriteHeader(statusOK)
		routes.ServeJson(w, service.GetGeneralMsgType(statusOK, "success", resChanUsers))
	case <-service.TimeOutInMilis(service.GlobalTimeOutDB):
		printDefaultMessage(w, 508, "request timeout")
	}
}
开发者ID:haluanice,项目名称:koneksee,代码行数:21,代码来源:UserController.go


示例16: getNearestPoints

// GET /points/nearest?lat=*&lng=*&dist=_
func getNearestPoints(w http.ResponseWriter, r *http.Request) {
	badRequestError := Response{"error", 400, "Bad Request", nil}
	params := r.URL.Query()

	lat, err1 := strconv.ParseFloat(params.Get("lat"), 64)
	lng, err2 := strconv.ParseFloat(params.Get("lng"), 64)

	if err1 != nil || err2 != nil {
		routes.ServeJson(w, badRequestError)
		return
	}

	maxDistance := float64(50)
	if d, err := strconv.ParseFloat(params.Get("dist"), 32); err == nil {
		maxDistance = d
	}

	currentPoint := geo.NewPoint(lat, lng)

	var p Point
	result := make([]distanceRecord, 0)
	iter := Points.Find(bson.M{}).Iter()
	for iter.Next(&p) {
		lat, _ := strconv.ParseFloat(p.Latitude, 64)
		lng, _ := strconv.ParseFloat(p.Longitude, 64)

		point := geo.NewPoint(lat, lng)
		distance := currentPoint.GreatCircleDistance(point) * 1000

		if distance <= maxDistance {
			result = append(result, distanceRecord{p.Id, distance})
		}
	}

	slice.Sort(result, func(i, j int) bool {
		return result[i].Distance < result[j].Distance
	})
	routes.ServeJson(w, result)
}
开发者ID:the-varlog,项目名称:wego,代码行数:40,代码来源:points.go


示例17: serveResponse

func serveResponse(w http.ResponseWriter, context map[string]interface{}) {
	response := context["response"]
	responseCode, ok := context["code"].(int)
	if !ok {
		responseCode = 200
	}
	if 200 <= responseCode && responseCode < 300 {
		w.WriteHeader(responseCode)
		routes.ServeJson(w, response)
	} else {
		message := util.MaybeMap(context["exception"])
		middleware.HTTPJSONError(w, message["message"].(string), responseCode)
	}
}
开发者ID:vozhyk-,项目名称:gohan,代码行数:14,代码来源:httpserver.go


示例18: newPoint

// POST /points
func newPoint(w http.ResponseWriter, r *http.Request) {
	badRequestError := Response{"error", 400, "Bad Request", nil}

	var (
		point  Point
		rpoint PointFromRequest
	)

	routes.ReadJson(r, &rpoint)

	if rpoint.Ssid == nil || rpoint.Latitude == nil || rpoint.Longitude == nil {
		routes.ServeJson(w, badRequestError)
		return
	}

	point.Ssid = *rpoint.Ssid
	point.Latitude = *rpoint.Latitude
	point.Longitude = *rpoint.Longitude

	point.Id = GetCounter("points")
	IncCounter("points")

	if rpoint.Mac != nil {
		point.Mac = *rpoint.Mac
	}

	if rpoint.Password != nil {
		point.Password = *rpoint.Password
	}

	err := Points.Insert(&point)
	if err != nil {
		routes.ServeJson(w, badRequestError)
		return
	}
	routes.ServeJson(w, point)
}
开发者ID:the-varlog,项目名称:wego,代码行数:38,代码来源:points.go


示例19: UpdatePhoneNumber

func UpdatePhoneNumber(w http.ResponseWriter, r *http.Request) {
	phoneNumber := r.Header.Get("phone_number")
	userTokenJson := requests.PhoneNumberJson{}
	service.DecodeJson(&userTokenJson, r.Body)
	newphoneNumber := userTokenJson.PhoneNumber
	if phoneNumber == "" {
		w.WriteHeader(400)
		routes.ServeJson(w, service.GetErrorMessageType(400, "data empty"))
	} else {
		resultHashed := hashedMobileNumber(phoneNumber)
		field := fmt.Sprintf("phone_number = '%s', token = '%s'", newphoneNumber, resultHashed)
		condition := fmt.Sprintf("phone_number = '%s'", phoneNumber)
		statusUpdate, messageUpdate := service.UpdateQuery("users", field, condition)
		userToken := requests.UserToken{newphoneNumber, resultHashed}
		printResult(w, statusUpdate, messageUpdate, userToken)
	}
}
开发者ID:haluanice,项目名称:koneksee,代码行数:17,代码来源:UserController.go


示例20: handleError

func handleError(writer http.ResponseWriter, err error) {
	switch err := err.(type) {
	default:
		middleware.HTTPJSONError(writer, err.Error(), http.StatusInternalServerError)
	case resources.ResourceError:
		code := problemToResponseCode(err.Problem)
		middleware.HTTPJSONError(writer, err.Message, code)
	case extension.Error:
		message, code := unwrapExtensionException(err.ExceptionInfo)
		if 200 <= code && code < 300 {
			writer.WriteHeader(code)
			routes.ServeJson(writer, message)
		} else {
			middleware.HTTPJSONError(writer, message["error"].(string), code)
		}
	}
}
开发者ID:vozhyk-,项目名称:gohan,代码行数:17,代码来源:api.go



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Golang database.Database类代码示例发布时间:2022-05-23
下一篇:
Golang routes.New函数代码示例发布时间: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