Преглед на файлове

test expire of state and enforce openID and procedure check

master
Patrick Peng Sun преди 8 години
родител
ревизия
3f106d77c6
променени са 1 файла, в които са добавени 14 реда и са изтрити 2 реда
  1. +14
    -2
      chatState.go

+ 14
- 2
chatState.go Целия файл

@@ -6,6 +6,7 @@ import (
"io/ioutil"
"log"
"os"
"time"
)

//chat state that we might be use for collecting infomation from user
@@ -49,6 +50,17 @@ func getCurrentState(openID string, procedure string) (result chatState, err err
}
//we don't check Expire, we give the caller full control on
//how to deal wiht expired session

//check whether state is for the correct openID and procedure
if result.OpenID != openID {
err = errors.New("Error: State for " + openID + " is actually for " + result.OpenID)
return
}

if result.Procedure != procedure {
err = errors.New("Error: Proecdure for " + procedure + " is actually for " + result.Procedure)
return
}
return
}

@@ -126,7 +138,7 @@ func stopProcedure(openID, procedure string) {
func processProcedureState(state chatState) (err error) {
//send what we need to send
if isExpired(state.Expire) {
return errors.New("State has expired " + stae.Name)
return errors.New("State has expired " + state.Name)
}
//mark we have sent.

@@ -152,6 +164,6 @@ func getProcedureInit(openID, procedure string) initProcedureFunction {

func initTestEcho(openid string) (r chatState) {
r.Name = openid
r.Expire = 0
r.Expire = int32(time.Now().Unix() + 100)
return
}

Loading…
Отказ
Запис