Made decision detection more robust.
This commit is contained in:
parent
a28288259f
commit
80d60acf64
|
@ -6,6 +6,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -184,7 +185,15 @@ Abstract: %s`, criteria, paper.Title, paper.Abstract)
|
||||||
return nil, fmt.Errorf("invalid response format")
|
return nil, fmt.Errorf("invalid response format")
|
||||||
}
|
}
|
||||||
|
|
||||||
decision := string(bytes.TrimSpace(lines[0]))
|
decisionParts := bytes.SplitN(lines[0], []byte(":"), 2)
|
||||||
|
if len(decisionParts) != 2 {
|
||||||
|
return nil, fmt.Errorf("invalid decision format, expected 'DECISION: [VALUE]'")
|
||||||
|
}
|
||||||
|
decision := strings.ToUpper(string(bytes.TrimSpace(decisionParts[1])))
|
||||||
|
if decision != "ACCEPT" && decision != "REJECT" {
|
||||||
|
return nil, fmt.Errorf("invalid decision value: %s", decision)
|
||||||
|
}
|
||||||
|
|
||||||
explanation := string(bytes.TrimSpace(bytes.Join(lines[1:], []byte("\n"))))
|
explanation := string(bytes.TrimSpace(bytes.Join(lines[1:], []byte("\n"))))
|
||||||
|
|
||||||
return &decisionResult{
|
return &decisionResult{
|
||||||
|
|
Loading…
Reference in New Issue