Implement http server for the URDT vise engine #41
@ -2,8 +2,8 @@ package http
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
|
||||||
|
|
||||||
"git.defalsify.org/vise.git/db"
|
"git.defalsify.org/vise.git/db"
|
||||||
"git.defalsify.org/vise.git/engine"
|
"git.defalsify.org/vise.git/engine"
|
||||||
@ -25,31 +25,20 @@ type DefaultRequestParser struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func(rp *DefaultRequestParser) GetSessionId(rq *http.Request) (string, error) {
|
func(rp *DefaultRequestParser) GetSessionId(rq *http.Request) (string, error) {
|
||||||
if err := rq.ParseForm(); err != nil {
|
v := rq.Header.Get("X-Vise-Session")
|
||||||
return "", fmt.Errorf("failed to parse form data: %v", err)
|
if v == "" {
|
||||||
|
return "", fmt.Errorf("no session found")
|
||||||
}
|
}
|
||||||
|
return v, nil
|
||||||
phoneNumber := rq.FormValue("phoneNumber")
|
|
||||||
if phoneNumber == "" {
|
|
||||||
return "", fmt.Errorf("no phone number found")
|
|
||||||
}
|
|
||||||
|
|
||||||
return phoneNumber, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func(rp *DefaultRequestParser) GetInput(rq *http.Request) ([]byte, error) {
|
func(rp *DefaultRequestParser) GetInput(rq *http.Request) ([]byte, error) {
|
||||||
if err := rq.ParseForm(); err != nil {
|
defer rq.Body.Close()
|
||||||
return nil, fmt.Errorf("failed to parse form data: %v", err)
|
v, err := ioutil.ReadAll(rq.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
}
|
}
|
||||||
|
return v, nil
|
||||||
text := rq.FormValue("text")
|
|
||||||
|
|
||||||
parts := strings.Split(text, "*")
|
|
||||||
if len(parts) == 0 {
|
|
||||||
return nil, fmt.Errorf("no input found")
|
|
||||||
}
|
|
||||||
|
|
||||||
return []byte(parts[len(parts)-1]), nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type SessionHandler struct {
|
type SessionHandler struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user