本文整理汇总了Golang中5sur/util.OpenDb函数的典型用法代码示例。如果您正苦于以下问题:Golang OpenDb函数的具体用法?Golang OpenDb怎么用?Golang OpenDb使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了OpenDb函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: SendMessageSubmitHandler
func SendMessageSubmitHandler(w http.ResponseWriter, r *http.Request) error {
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
_, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if userId == 0 {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
recipient, message, err := util.ValidMessagePost(r)
if err != nil {
return err
}
err = gen.MessageLimit(db, userId)
if err != nil {
return err
}
err = gen.SendMessage(db, userId, recipient, message)
if err != nil {
return err
}
http.Redirect(w, r, "https://5sur.com/dashboard/messages?i="+strconv.Itoa(recipient), 303)
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:35,代码来源:5sur.go
示例2: ListingsHandler
func ListingsHandler(w http.ResponseWriter, r *http.Request) error {
query, err := util.ValidListingQuery(r.URL) // Returns util.QueryFields
if err != nil {
return err
}
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
listings, err := gen.ReturnListings(db, query.Origin, query.Destination, query.Date+" "+query.Time)
if err != nil {
return err
}
jsonListings, err := json.MarshalIndent(listings, "", " ")
if err != nil {
return util.NewError(nil, "Json conversion failed", 500)
}
w.Header().Set("Content-Type", "application/json")
fmt.Fprint(w, string(jsonListings))
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:25,代码来源:handlers.go
示例3: UploadHandler
func UploadHandler(w http.ResponseWriter, r *http.Request) error {
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, _, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if user == "" {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
// the FormFile function takes in the POST input id file
file, header, err := r.FormFile("Picture")
if err != nil {
return util.NewError(nil, "Foto no encontrado", 400)
}
defer file.Close()
err = util.SaveImage(db, user, file, header)
if err != nil {
return err
}
http.Redirect(w, r, "https://5sur.com/dashboard/settings", 303)
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:31,代码来源:5sur.go
示例4: EmailPrefHandler
func EmailPrefHandler(w http.ResponseWriter, r *http.Request) error {
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
_, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if userId == 0 {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
prefs, err := util.ReturnEmailPref(db, userId)
if err != nil {
return err
}
err = templates.ExecuteTemplate(w, "emailPref.html", prefs)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:28,代码来源:5sur.go
示例5: CreateSubmitHandler
func CreateSubmitHandler(w http.ResponseWriter, r *http.Request) error {
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if user == "" {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
createFormPost, err := util.ValidCreateSubmit(r)
if err != nil {
return err
}
listingId, err := gen.CreateListing(db, createFormPost.Date, userId, createFormPost.Origin, createFormPost.Destination, createFormPost.Seats, createFormPost.Fee)
if err != nil {
return err
}
http.Redirect(w, r, "https://5sur.com/dashboard/listings?i="+strconv.FormatInt(listingId, 10), 303)
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:30,代码来源:5sur.go
示例6: PasswordResetHandler
func PasswordResetHandler(w http.ResponseWriter, r *http.Request) error {
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
err = gen.ResetPassword(db, r.FormValue("Email"))
if err != nil {
return err
}
Page := struct {
Title string
MessageTitle string
Message string
}{
"Restablecer contraseña",
"",
"Email para reestablecer contraseña ha sido mandado a " + r.FormValue("Email"),
}
err = templates.ExecuteTemplate(w, "formSubmit.html", Page)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:28,代码来源:5sur.go
示例7: SendMessageHandler
func SendMessageHandler(w http.ResponseWriter, r *http.Request) error {
recipientId, err := util.ValidMessageURL(r)
if err != nil {
return err
}
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
_, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if userId == 0 {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
userInfo, err := gen.ReturnUserInfo(db, recipientId)
if err != nil {
return err
}
err = templates.ExecuteTemplate(w, "message.html", userInfo)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:32,代码来源:5sur.go
示例8: CreateListingHandler
func CreateListingHandler(w http.ResponseWriter, r *http.Request) error {
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, _, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if user == "" {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
// HTML generation (also does listing-specific SQL calls)
cities, err := gen.ReturnFilter(db)
if err != nil {
return err
}
err = templates.ExecuteTemplate(w, "create.html", cities)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:29,代码来源:5sur.go
示例9: ReserveHandler
func ReserveHandler(w http.ResponseWriter, r *http.Request) error {
//Check POST data
values, err := util.ValidReservePost(r)
if err != nil {
return err
}
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, userId, err := util.CheckAppCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if user == "" {
return util.NewError(nil, "Login required", 401)
}
err = gen.CreateReservation(db, userId, values.ListingId, values.Seats, r.FormValue("Message"))
if err != nil {
return err
}
w.WriteHeader(200)
fmt.Fprint(w, "You registered, woo")
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:32,代码来源:handlers.go
示例10: LoginHandler
func LoginHandler(w http.ResponseWriter, r *http.Request) error {
// POST validation
if r.FormValue("Password") == "" || r.FormValue("Username") == "" {
return util.NewError(nil, "Missing username or password", 400)
}
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
authenticated, err := gen.CheckCredentials(db, r.FormValue("Username"), r.FormValue("Password"))
if err != nil {
return err
}
if authenticated {
myCookie, err := util.CreateCookie(r.FormValue("Username"), db, true, true) // This also stores a hashed cookie in the database
if err != nil {
return err
}
http.SetCookie(w, &myCookie)
w.WriteHeader(200)
fmt.Fprint(w, "Logged in as "+r.FormValue("Username"))
return nil
} else {
return util.NewError(nil, "Your username or password was incorrect", 400)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:32,代码来源:handlers.go
示例11: UploadDeleteHandler
func UploadDeleteHandler(w http.ResponseWriter, r *http.Request) error {
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if userId == 0 {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
if r.FormValue("User") != strconv.Itoa(userId) {
return util.NewError(nil, "Foto no borrado", 400)
}
err = util.DeletePicture(db, user)
if err != nil {
return err
}
http.Redirect(w, r, "https://5sur.com/dashboard/settings", 303)
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:29,代码来源:5sur.go
示例12: RootHandler
func RootHandler(w http.ResponseWriter, r *http.Request) error {
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, userId, userImg, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
alerts, err := gen.GetAlerts(db, userId)
if err != nil {
return err
}
header := &gen.HeaderHTML{
Username: user,
Alerts: len(alerts),
AlertText: alerts,
UserImage: userImg,
}
cities, err := gen.ReturnFilter(db)
if err != nil {
return err
}
listings, err := gen.ReturnAllListings(db)
if err != nil {
return err
}
body := &gen.ListingsHTML{
Filter: cities,
Listings: listings,
Homepage: true,
}
page := struct {
Header gen.HeaderHTML
Body gen.ListingsHTML
}{
*header,
*body,
}
err = templates.ExecuteTemplate(w, "listings.html", page)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:56,代码来源:5sur.go
示例13: DeleteAccountHandler
func DeleteAccountHandler(w http.ResponseWriter, r *http.Request) error {
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if user == "" {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
// put this in valid
if r.FormValue("Password") == "" || r.FormValue("Password2") == "" {
return util.NewError(nil, "Rellena el formulario completo por favor", 400)
}
if r.FormValue("Password") != r.FormValue("Password2") {
return util.NewError(nil, "No coincide la contraseña", 400)
}
authenticated, err := gen.CheckCredentials(db, user, r.FormValue("Password"))
if err != nil {
return err
}
if !authenticated {
return util.NewError(nil, "Contraseña incorrecta", 400)
}
err = gen.DeleteAccount(db, userId)
if err != nil {
return err
}
Page := struct {
Title string
MessageTitle string
Message string
}{
"Borrar cuenta",
"",
"Cuenta eliminada",
}
err = templates.ExecuteTemplate(w, "formSubmit.html", Page)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:55,代码来源:5sur.go
示例14: RegistrationHandler
func RegistrationHandler(w http.ResponseWriter, r *http.Request) error {
err := util.ValidRegister(r)
if err != nil {
return err
}
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
err = gen.CheckUserInfo(db, r.FormValue("Username"), r.FormValue("Email"))
if err != nil {
return err
}
userIp := ""
if ipProxy := r.Header.Get("X-Real-IP"); len(ipProxy) > 0 {
userIp = ipProxy
} else {
userIp, _, _ = net.SplitHostPort(r.RemoteAddr)
}
human, err := gen.CheckCaptcha(r.FormValue("g-recaptcha-response"), userIp)
if err != nil {
return err
}
if !human {
return util.NewError(nil, "Captcha invalido", 400)
}
err = gen.UserAuth(db, r.FormValue("Username"), r.FormValue("Password"), r.FormValue("Email"))
if err != nil {
return err
}
Page := struct {
Title string
MessageTitle string
Message string
}{
"Regístrate",
"",
"Email de confirmacion ha sido mandado a " + r.FormValue("Email"),
}
err = templates.ExecuteTemplate(w, "formSubmit.html", Page)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:53,代码来源:5sur.go
示例15: RegisterFormHandler
func RegisterFormHandler(w http.ResponseWriter, r *http.Request) error {
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
err = templates.ExecuteTemplate(w, "register.html", "")
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:13,代码来源:5sur.go
示例16: UserHandler
func UserHandler(w http.ResponseWriter, r *http.Request) error {
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, userId, userImg, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
alerts, err := gen.GetAlerts(db, userId)
if err != nil {
return err
}
splits := strings.Split(r.URL.Path, "/")
userInfo, err := gen.ReturnUserInfo(db, splits[2])
if err != nil {
return err
}
header := &gen.HeaderHTML{
Title: user,
Username: user,
Alerts: len(alerts),
AlertText: alerts,
UserImage: userImg,
}
page := struct {
Header gen.HeaderHTML
Body gen.User
}{
*header,
userInfo,
}
err = templates.ExecuteTemplate(w, "user.html", page)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:47,代码来源:5sur.go
示例17: ReserveFormHandler
func ReserveFormHandler(w http.ResponseWriter, r *http.Request) error {
l, err := util.ValidReserveURL(r)
if err != nil {
return err
}
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, _, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if user == "" {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
listing, err := gen.ReturnIndividualListing(db, l)
if err != nil {
return err
}
seats := make([]int, 0)
for i := 1; i <= listing.Seats; i++ {
seats = append(seats, i)
}
driver, err := gen.ReturnUserInfo(db, listing.Driver)
reserve := &gen.ReserveHTML{
ListingId: listing.Id,
Driver: driver.Name,
Seats: seats,
}
err = templates.ExecuteTemplate(w, "reserve.html", reserve)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:46,代码来源:5sur.go
示例18: LoginFormHandler
func LoginFormHandler(w http.ResponseWriter, r *http.Request) error {
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
_, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if userId != 0 {
http.Redirect(w, r, "https://5sur.com/", 303)
return nil
}
userIp := ""
if ipProxy := r.Header.Get("X-Real-IP"); len(ipProxy) > 0 {
userIp = ipProxy
} else {
userIp, _, _ = net.SplitHostPort(r.RemoteAddr)
}
attempts, err := gen.CheckAttempts(db, userIp)
if err != nil {
return err
}
var script, captcha template.HTML
if attempts > 2 {
script = `<script src='https://www.google.com/recaptcha/api.js'></script>`
captcha = `<div class="g-recaptcha" data-sitekey="6LfejAATAAAAAK1DA4l33OntwJy9LZz1GK3F2Egr"></div>`
}
registerData := &gen.LoginHTML{
Title: "Ingresar",
Script: script,
Captcha: captcha,
}
err = templates.ExecuteTemplate(w, "login.html", registerData)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:44,代码来源:5sur.go
示例19: ReserveHandler
func ReserveHandler(w http.ResponseWriter, r *http.Request) error {
//Check POST data
values, err := util.ValidReservePost(r)
if err != nil {
return err
}
// Database initialization
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
// User authentication
user, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
if err != nil {
return err
}
if user == "" {
return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
}
err = gen.CreateReservation(db, userId, values.ListingId, values.Seats, r.FormValue("Message"))
if err != nil {
return err
}
Page := struct {
Title string
MessageTitle string
Message string
}{
"Reservar",
"Has entrado a la lista de reservaciones",
"Atento: tu viaje no esta garantizado hasta que el conductor te acepte. Te notificaremos cuando esto suceda.",
}
err = templates.ExecuteTemplate(w, "formSubmit.html", Page)
if err != nil {
return util.NewError(err, "No se cargó la página", 500)
}
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:44,代码来源:5sur.go
示例20: CityHandler
func CityHandler(w http.ResponseWriter, r *http.Request) error {
db, err := util.OpenDb()
if err != nil {
return err
}
defer db.Close()
cities, err := gen.ReturnFilter(db)
if err != nil {
return err
}
jsonCities, err := json.MarshalIndent(cities, "", " ")
if err != nil {
return util.NewError(err, "Json conversion failed", 500)
}
w.Header().Set("Content-Type", "application/json")
fmt.Fprint(w, string(jsonCities))
return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:19,代码来源:handlers.go
注:本文中的5sur/util.OpenDb函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论