本文整理汇总了Golang中net/http.Request.InRange方法的典型用法代码示例。如果您正苦于以下问题:Golang Request.InRange方法的具体用法?Golang Request.InRange怎么用?Golang Request.InRange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net/http.Request
的用法示例。
在下文中一共展示了Request.InRange方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: doGetHead
//doGetHead renders records contents(get) or id+timestamp(head) who has id and
// whose stamp is in range of one specified by url.
func doGetHead(w http.ResponseWriter, r *http.Request) {
s, err := new(w, r)
if err != nil {
log.Println(err)
return
}
reg := regexp.MustCompile("^(get|head|removed)/([0-9A-Za-z_]+)/?([-0-9A-Za-z/]*)$")
m := reg.FindStringSubmatch(s.Path())
if m == nil {
log.Println("illegal url", s.Path())
return
}
method, datfile, stamp := m[1], m[2], m[3]
ca := thread.NewCache(datfile)
begin, end, id := s.parseStamp(stamp, math.MaxInt32)
var recs record.Map
if method == "removed" {
recs = ca.LoadRecords(record.Removed)
} else {
recs = ca.LoadRecords(record.Alive)
}
for _, r := range recs {
if r.InRange(begin, end, id) {
if method == "get" {
if err := r.Load(); err != nil {
log.Println(err)
continue
}
fmt.Fprintln(s.WR, r.Recstr())
continue
}
fmt.Fprintln(s.WR, strings.Replace(r.Idstr(), "_", "<>", -1))
}
}
if method == "get" {
updateque.UpdatedRecord.Inform(datfile, id, begin, end)
}
}