本文整理汇总了Golang中github.com/crunchydata/crunchy-postgresql-manager-openshift/util.GetConnection函数的典型用法代码示例。如果您正苦于以下问题:Golang GetConnection函数的具体用法?Golang GetConnection怎么用?Golang GetConnection使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GetConnection函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: GetUser
func GetUser(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("GetUser: validate token error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ID := r.PathParam("ID")
if ID == "" {
logit.Error.Println("GetUser: error User ID required")
rest.Error(w, "User ID required", http.StatusBadRequest)
return
}
status := SimpleStatus{}
status.Status = "OK"
w.WriteHeader(http.StatusOK)
w.WriteJson(&status)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:29,代码来源:securitymgmt.go
示例2: GetHealthCheck
func GetHealthCheck(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection("clusteradmin")
if err != nil {
logit.Error.Println(err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("validate token error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
var results []collect.HealthCheck
results, err = collect.GetHealthCheck(dbConn)
if err != nil {
logit.Error.Println(err.Error())
w.WriteJson(&results)
return
}
w.WriteJson(&results)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:29,代码来源:healthcheck.go
示例3: GetServer
func GetServer(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("GetServer: authorize error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ID := r.PathParam("ID")
logit.Info.Println("in GetServer with ID=" + ID)
results, err := admindb.GetServer(dbConn, ID)
if err != nil {
logit.Error.Println("GetServer:" + err.Error())
rest.Error(w, err.Error(), http.StatusInternalServerError)
return
}
server := Server{results.ID, results.Name, results.IPAddress,
results.DockerBridgeIP, results.PGDataPath, results.ServerClass, results.CreateDate}
logit.Info.Println("GetServer: results=" + results.ID)
w.WriteJson(&server)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:31,代码来源:server.go
示例4: RulesGetAll
func RulesGetAll(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("RulesGetAll: authorize error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
rules, err := GetAllRules(dbConn)
if err != nil {
logit.Error.Println("RulesGetAll:" + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
w.WriteHeader(http.StatusOK)
w.WriteJson(&rules)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:27,代码来源:rules.go
示例5: Login
func Login(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
ID := r.PathParam("ID")
PSW := r.PathParam("PSW")
if ID == "" || PSW == "" {
logit.Error.Println("Login: ID or PSW not supplied")
rest.Error(w, "ID or PSW not supplied", http.StatusBadRequest)
}
logit.Info.Println("Login: called")
tokenContents, err := secimpl.Login(dbConn, ID, PSW)
if err != nil {
logit.Error.Println("Login: error secimpl call" + err.Error())
rest.Error(w, err.Error(), http.StatusInternalServerError)
return
}
//w.WriteHeader(http.StatusOK)
token := LoginToken{tokenContents}
logit.Info.Println("sending back token " + token.Contents)
w.WriteJson(&token)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:30,代码来源:securitymgmt.go
示例6: GetAllUsers
func GetAllUsers(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("GetAllUsers: validate token error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
usersList, err := secimpl.GetAllUsers(dbConn)
if err != nil {
logit.Error.Println("GetAllUsers: error " + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
for i := range usersList {
logit.Info.Println("GetAllUsers: secimpl.GetAllUsers userName=" + usersList[i].Name)
}
w.WriteHeader(http.StatusOK)
w.WriteJson(&usersList)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:31,代码来源:securitymgmt.go
示例7: DeleteServer
func DeleteServer(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-server")
if err != nil {
logit.Error.Println("DeleteServer: authorize error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ID := r.PathParam("ID")
if ID == "" {
logit.Error.Println("DeleteServer: error server id required")
rest.Error(w, "Server ID required", http.StatusBadRequest)
return
}
err = admindb.DeleteServer(dbConn, ID)
if err != nil {
logit.Error.Println("DeleteServer: " + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
}
w.WriteHeader(http.StatusOK)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:32,代码来源:server.go
示例8: DeleteRole
func DeleteRole(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-user")
if err != nil {
logit.Error.Println("GetAllRoles: validate token error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
if r.PathParam("ID") == "" {
logit.Error.Println("DeleteRole: error ID required")
rest.Error(w, "ID required", http.StatusBadRequest)
return
}
err = secimpl.DeleteRole(dbConn, r.PathParam("ID"))
if err != nil {
logit.Error.Println("DeleteRole: error secimpl call" + err.Error())
rest.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusOK)
status := SimpleStatus{}
status.Status = "OK"
w.WriteJson(&status)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:35,代码来源:securitymgmt.go
示例9: GetSchedule
func GetSchedule(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("GetSchedule: validate token error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ID := r.PathParam("ID")
if ID == "" {
rest.Error(w, "ID required", 400)
return
}
result, err := backup.GetSchedule(dbConn, ID)
if err != nil {
logit.Error.Println("GetNode: " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
w.WriteJson(result)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:32,代码来源:backupmgmt.go
示例10: GetCluster
func GetCluster(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("GetCluster: authorize error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ID := r.PathParam("ID")
results, err := admindb.GetCluster(dbConn, ID)
if err != nil {
logit.Error.Println("GetCluster:" + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
}
cluster := Cluster{results.ID, results.ProjectID, results.Name, results.ClusterType,
results.Status, results.CreateDate, "", results.Containers}
logit.Info.Println("GetCluser:db call results=" + results.ID)
w.WriteJson(&cluster)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:28,代码来源:clustermgmt.go
示例11: GetRole
func GetRole(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("GetRole: validate token error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
Name := r.PathParam("Name")
if Name == "" {
logit.Error.Println("GetRole: error Name required")
rest.Error(w, "Name required", http.StatusBadRequest)
return
}
var role sec.Role
role, err = secimpl.GetRole(dbConn, Name)
if err != nil {
logit.Error.Println("GetRole: error secimpl call" + err.Error())
rest.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusOK)
w.WriteJson(&role)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:34,代码来源:securitymgmt.go
示例12: ContainerLoadTest
func ContainerLoadTest(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("ContainerLoadTest: authorize error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ID := r.PathParam("ID")
if ID == "" {
rest.Error(w, "ID required", http.StatusBadRequest)
return
}
Writes := r.PathParam("Writes")
if Writes == "" {
rest.Error(w, "Writes required", http.StatusBadRequest)
return
}
var writes int
writes, err = strconv.Atoi(Writes)
if err != nil {
logit.Error.Println("ContainerLoadTest:" + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
node, err := admindb.GetContainer(dbConn, ID)
if err != nil {
logit.Error.Println("ContainerLoadTest:" + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
var host = node.Name
if KubeEnv {
host = node.Name + "-db"
}
results, err2 := loadtest(dbConn, node.Name, host, writes)
if err2 != nil {
logit.Error.Println("ContainerLoadTest:" + err2.Error())
rest.Error(w, err2.Error(), http.StatusBadRequest)
return
}
w.WriteHeader(http.StatusOK)
w.WriteJson(&results)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:60,代码来源:containerinfo.go
示例13: Logout
func Logout(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
token := r.PathParam("Token")
if token == "" {
logit.Error.Println("Logout: Token not supplied")
rest.Error(w, "Token not supplied", http.StatusBadRequest)
}
err = secimpl.Logout(dbConn, token)
if err != nil {
logit.Error.Println("Logout: error secimpl call" + err.Error())
rest.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusOK)
status := SimpleStatus{}
status.Status = "OK"
w.WriteJson(&status)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:28,代码来源:securitymgmt.go
示例14: ContainerAccessRuleGetAll
func ContainerAccessRuleGetAll(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("ContainerRulesGetAll: authorize error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ContainerID := r.PathParam("ID")
if ContainerID == "" {
rest.Error(w, "ID required", http.StatusBadRequest)
return
}
cars, err := GetAllContainerAccessRule(dbConn, ContainerID)
if err != nil {
logit.Error.Println(err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
w.WriteHeader(http.StatusOK)
w.WriteJson(&cars)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:33,代码来源:rules.go
示例15: GetStatus
func GetStatus(w rest.ResponseWriter, r *rest.Request) {
Token := r.PathParam("Token")
if Token == "" {
rest.Error(w, "Token required", 400)
return
}
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, Token, "perm-read")
if err != nil {
logit.Error.Println("GetStatus: validate token error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ID := r.PathParam("ID")
if ID == "" {
rest.Error(w, "ID required", 400)
return
}
stat, err := backup.GetStatus(dbConn, ID)
if err != nil {
logit.Error.Println("GetStatus: " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
w.WriteHeader(http.StatusOK)
w.WriteJson(stat)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:35,代码来源:backupmgmt.go
示例16: GetProject
func GetProject(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("GetProject: validate token error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ID := r.PathParam("ID")
if ID == "" {
logit.Error.Println("GetProject: error Project ID required")
rest.Error(w, "Project ID required", http.StatusBadRequest)
return
}
results, err := admindb.GetProject(dbConn, ID)
if err != nil {
logit.Error.Println("GetProject:" + err.Error())
rest.Error(w, err.Error(), http.StatusInternalServerError)
return
}
project := Project{results.ID, results.Name, results.Desc, results.UpdateDate, "", results.Containers, results.Clusters}
w.WriteJson(&project)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:34,代码来源:projectmgmt.go
示例17: MonitorContainerControldata
func MonitorContainerControldata(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-read")
if err != nil {
logit.Error.Println("MonitorContainerControldata: authorize error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
ID := r.PathParam("ID")
if ID == "" {
rest.Error(w, "ID required", http.StatusBadRequest)
return
}
node, err := admindb.GetContainer(dbConn, ID)
if err != nil {
logit.Error.Println("MonitorContainerControldata:" + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
settings := make([]PostgresControldata, 0)
//send the container a pg_controldata command
var cdout cpmcontainerapi.ControldataResponse
cdout, err = cpmcontainerapi.ControldataClient(node.Name)
if err != nil {
logit.Error.Println("MonitorContainerControldata:" + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
logit.Info.Println(cdout.Output)
lines := strings.Split(cdout.Output, "\n")
//fmt.Println(len(lines))
for i := range lines {
//fmt.Println(len(lines[i]))
if len(lines[i]) > 1 {
setting := PostgresControldata{}
columns := strings.Split(lines[i], ":")
setting.Name = strings.TrimSpace(columns[0])
setting.Value = strings.TrimSpace(columns[1])
//fmt.Println("name=[" + strings.TrimSpace(columns[0]) + "] value=[" + strings.TrimSpace(columns[1]) + "]")
settings = append(settings, setting)
}
}
w.WriteHeader(http.StatusOK)
w.WriteJson(&settings)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:59,代码来源:containerinfo.go
示例18: LoadSchedules
func LoadSchedules() error {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
return err
}
defer dbConn.Close()
logit.Info.Println("LoadSchedules called")
var schedules []BackupSchedule
schedules, err = GetSchedules(dbConn)
if err != nil {
logit.Error.Println("LoadSchedules error " + err.Error())
return err
}
if CRONInstance != nil {
logit.Info.Println("stopping current cron instance...")
CRONInstance.Stop()
}
//kill off the old cron, garbage collect it
CRONInstance = nil
//create a new cron
logit.Info.Println("creating cron instance...")
CRONInstance = cron.New()
var cronexp string
for i := 0; i < len(schedules); i++ {
cronexp = getCron(schedules[i])
logit.Info.Println("would have loaded schedule..." + cronexp)
if schedules[i].Enabled == "YES" {
logit.Info.Println("schedule " + schedules[i].ID + " was enabled so adding it")
x := DefaultJob{}
x.request = BackupRequest{}
x.request.ScheduleID = schedules[i].ID
x.request.ServerID = schedules[i].ServerID
x.request.ServerName = schedules[i].ServerName
x.request.ServerIP = schedules[i].ServerIP
x.request.ContainerName = schedules[i].ContainerName
x.request.ProfileName = schedules[i].ProfileName
CRONInstance.AddJob(cronexp, x)
} else {
logit.Info.Println("schedule " + schedules[i].ID + " NOT enabled so dropping it")
}
}
logit.Info.Println("starting new CRONInstance")
CRONInstance.Start()
return err
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:58,代码来源:backupserverimpl.go
示例19: AddServer
//we use AddServer for both updating and inserting based on the ID passed in
func AddServer(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
err = secimpl.Authorize(dbConn, r.PathParam("Token"), "perm-server")
if err != nil {
logit.Error.Println("AddServer: authorize token error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
CreateDate := ""
server := Server{r.PathParam("ID"), r.PathParam("Name"), r.PathParam("IPAddress"), r.PathParam("DockerBridgeIP"), r.PathParam("PGDataPath"), r.PathParam("ServerClass"), CreateDate}
server.IPAddress = strings.Replace(server.IPAddress, "_", ".", -1)
server.DockerBridgeIP = strings.Replace(server.DockerBridgeIP, "_", ".", -1)
server.PGDataPath = strings.Replace(server.PGDataPath, "_", "/", -1)
if server.Name == "" {
logit.Error.Println("AddServer: error server name required")
rest.Error(w, "server name required", http.StatusBadRequest)
return
}
if server.IPAddress == "" {
logit.Error.Println("AddServer: error ipaddress required")
rest.Error(w, "server IPAddress required", http.StatusBadRequest)
return
}
if server.PGDataPath == "" {
logit.Error.Println("AddServer: error pgdatapath required")
rest.Error(w, "server PGDataPath required", http.StatusBadRequest)
return
}
dbserver := admindb.Server{server.ID, server.Name, server.IPAddress,
server.DockerBridgeIP, server.PGDataPath, server.ServerClass, CreateDate, ""}
if dbserver.ID == "0" {
strid, err := admindb.InsertServer(dbConn, dbserver)
newid := strconv.Itoa(strid)
if err != nil {
logit.Error.Println("AddServer:" + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
server.ID = newid
} else {
admindb.UpdateServer(dbConn, dbserver)
}
w.WriteHeader(http.StatusOK)
w.WriteJson(&server)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:59,代码来源:server.go
示例20: ChangePassword
func ChangePassword(w rest.ResponseWriter, r *rest.Request) {
dbConn, err := util.GetConnection(CLUSTERADMIN_DB)
if err != nil {
logit.Error.Println("BackupNow: error " + err.Error())
rest.Error(w, err.Error(), 400)
return
}
defer dbConn.Close()
logit.Info.Println("ChangePassword: in ChangePassword")
changePass := ChgPassword{}
err = r.DecodeJsonPayload(&changePass)
if err != nil {
logit.Error.Println("ChangePassword: error in decode" + err.Error())
rest.Error(w, err.Error(), http.StatusInternalServerError)
return
}
err = secimpl.Authorize(dbConn, changePass.Token, "perm-read")
if err != nil {
logit.Error.Println("ChangePassword: authorize error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
var sameUser bool
sameUser, err = secimpl.CompareUserToToken(dbConn, changePass.Username, changePass.Token)
if err != nil {
logit.Error.Println("ChangePassword: compare UserToToken error " + err.Error())
rest.Error(w, err.Error(), http.StatusBadRequest)
return
}
//enforce perm-user if the username is not the same as the token's
//username (e.g. bob tries to change larry's password)
if !sameUser {
err = secimpl.Authorize(dbConn, changePass.Token, "perm-user")
if err != nil {
logit.Error.Println("ChangePassword: authorize error " + err.Error())
rest.Error(w, err.Error(), http.StatusUnauthorized)
return
}
}
err = secimpl.ChangePassword(dbConn, changePass.Username, changePass.Password)
if err != nil {
logit.Error.Println("ChangePassword: error secimpl call" + err.Error())
rest.Error(w, err.Error(), http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusOK)
status := SimpleStatus{}
status.Status = "OK"
w.WriteJson(&status)
}
开发者ID:CrunchyData,项目名称:crunchy-postgresql-manager-openshift,代码行数:57,代码来源:securitymgmt.go
注:本文中的github.com/crunchydata/crunchy-postgresql-manager-openshift/util.GetConnection函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论