本文整理匯總了Golang中github.com/GeoNet/haz.Quake類的典型用法代碼示例。如果您正苦於以下問題:Golang Quake類的具體用法?Golang Quake怎麽用?Golang Quake使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Quake類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: quakeProto
func quakeProto(r *http.Request, h http.Header, b *bytes.Buffer) *weft.Result {
if res := weft.CheckQuery(r, []string{}, []string{}); !res.Ok {
return res
}
var q haz.Quake
var res *weft.Result
if q.PublicID, res = getPublicIDPath(r); !res.Ok {
return res
}
var t time.Time
var mt time.Time
var err error
if err = db.QueryRow(quakeProtoSQL, q.PublicID).Scan(&t, &mt,
&q.Depth, &q.Magnitude, &q.Locality, &q.Mmi, &q.Quality,
&q.Longitude, &q.Latitude); err != nil {
return weft.ServiceUnavailableError(err)
}
q.Time = &haz.Timestamp{Sec: t.Unix(), Nsec: int64(t.Nanosecond())}
q.ModificationTime = &haz.Timestamp{Sec: mt.Unix(), Nsec: int64(mt.Nanosecond())}
var by []byte
if by, err = proto.Marshal(&q); err != nil {
return weft.ServiceUnavailableError(err)
}
b.Write(by)
h.Set("Content-Type", protobuf)
return &weft.StatusOK
}
示例2: quakeHistoryProto
func quakeHistoryProto(r *http.Request, h http.Header, b *bytes.Buffer) *weft.Result {
if res := weft.CheckQuery(r, []string{}, []string{}); !res.Ok {
return res
}
var publicID string
var res *weft.Result
if publicID, res = getPublicIDHistoryPath(r); !res.Ok {
return res
}
var rows *sql.Rows
var err error
if rows, err = db.Query(quakeHistoryProtoSQL, publicID); err != nil {
return weft.ServiceUnavailableError(err)
}
var quakes []*haz.Quake
for rows.Next() {
var t time.Time
var mt time.Time
q := haz.Quake{PublicID: publicID}
if err = rows.Scan(&t, &mt, &q.Depth,
&q.Magnitude, &q.Locality, &q.Mmi, &q.Quality,
&q.Longitude, &q.Latitude); err != nil {
return weft.ServiceUnavailableError(err)
}
q.Time = &haz.Timestamp{Sec: t.Unix(), Nsec: int64(t.Nanosecond())}
q.ModificationTime = &haz.Timestamp{Sec: mt.Unix(), Nsec: int64(mt.Nanosecond())}
quakes = append(quakes, &q)
}
qs := haz.Quakes{Quakes: quakes}
var by []byte
if by, err = proto.Marshal(&qs); err != nil {
return weft.ServiceUnavailableError(err)
}
b.Write(by)
h.Set("Content-Type", protobuf)
return &weft.StatusOK
}
示例3: quakesProto
func quakesProto(r *http.Request, h http.Header, b *bytes.Buffer) *weft.Result {
if res := weft.CheckQuery(r, []string{"MMI"}, []string{}); !res.Ok {
return res
}
var mmi int
var err error
if mmi, err = getMMI(r); err != nil {
return weft.BadRequest(err.Error())
}
var rows *sql.Rows
if rows, err = db.Query(quakesProtoSQL, mmi); err != nil {
return weft.ServiceUnavailableError(err)
}
var quakes haz.Quakes
for rows.Next() {
var t time.Time
var mt time.Time
var q haz.Quake
if err = rows.Scan(&q.PublicID, &t, &mt, &q.Depth,
&q.Magnitude, &q.Locality, &q.Mmi, &q.Quality,
&q.Longitude, &q.Latitude); err != nil {
return weft.ServiceUnavailableError(err)
}
q.Time = &haz.Timestamp{Sec: t.Unix(), Nsec: int64(t.Nanosecond())}
q.ModificationTime = &haz.Timestamp{Sec: mt.Unix(), Nsec: int64(mt.Nanosecond())}
quakes.Quakes = append(quakes.Quakes, &q)
}
var by []byte
if by, err = proto.Marshal(&quakes); err != nil {
return weft.ServiceUnavailableError(err)
}
b.Write(by)
h.Set("Content-Type", protobuf)
return &weft.StatusOK
}