本文整理汇总了Golang中gnd/la/app.Context.RemoteAddress方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.RemoteAddress方法的具体用法?Golang Context.RemoteAddress怎么用?Golang Context.RemoteAddress使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gnd/la/app.Context
的用法示例。
在下文中一共展示了Context.RemoteAddress方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: responseIsValid
func (r *reCaptcha) responseIsValid(ctx *app.Context) (bool, string) {
challenge := ctx.FormValue("recaptcha_challenge_field")
response := ctx.FormValue("recaptcha_response_field")
values := url.Values{
"privatekey": {r.privateKey},
"remoteip": {ctx.RemoteAddress()},
"challenge": {challenge},
"response": {response},
}
resp, err := http.PostForm("http://www.google.com/recaptcha/api/verify", values)
if err == nil {
defer resp.Body.Close()
b, err := ioutil.ReadAll(resp.Body)
if err == nil {
lines := strings.Split(string(b), "\n")
if len(lines) > 0 {
if lines[0] == "true" {
return true, ""
}
if len(lines) > 1 {
return false, lines[1]
}
}
}
}
return false, ""
}
示例2: getGeoIPRecord
func getGeoIPRecord(ctx *app.Context) *geoip.Record {
if rec, _ := ctx.Get(recordKey).(*geoip.Record); rec != nil {
return rec
}
g, _ := ctx.App().Get(geoIPKey).(*geoip.GeoIP)
if g == nil {
log.Warning("no GeoIP data loaded - did you call geoip.Load()?")
return nil
}
rec, _ := g.Lookup(ctx.RemoteAddress())
ctx.Set(recordKey, rec)
return rec
}