|
|
|
@ -17,8 +17,10 @@ type recallHandler struct { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (h *recallHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { |
|
|
|
func (h *recallHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { |
|
|
|
|
|
|
|
if Debug { |
|
|
|
log.Println("/recall START") |
|
|
|
log.Println("/recall START") |
|
|
|
log.Println("/recall reading body ...") |
|
|
|
log.Println("/recall reading body ...") |
|
|
|
|
|
|
|
} |
|
|
|
jsn, err := ioutil.ReadAll(r.Body) |
|
|
|
jsn, err := ioutil.ReadAll(r.Body) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
log.Println("Error reading the body", err) |
|
|
|
log.Println("Error reading the body", err) |
|
|
|
@ -26,14 +28,18 @@ func (h *recallHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
rec := records.SlimRecord{} |
|
|
|
rec := records.SlimRecord{} |
|
|
|
|
|
|
|
if Debug { |
|
|
|
log.Println("/recall unmarshaling record ...") |
|
|
|
log.Println("/recall unmarshaling record ...") |
|
|
|
|
|
|
|
} |
|
|
|
err = json.Unmarshal(jsn, &rec) |
|
|
|
err = json.Unmarshal(jsn, &rec) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
log.Println("Decoding error:", err) |
|
|
|
log.Println("Decoding error:", err) |
|
|
|
log.Println("Payload:", jsn) |
|
|
|
log.Println("Payload:", jsn) |
|
|
|
return |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if Debug { |
|
|
|
log.Println("/recall recalling ...") |
|
|
|
log.Println("/recall recalling ...") |
|
|
|
|
|
|
|
} |
|
|
|
found := true |
|
|
|
found := true |
|
|
|
cmd, err := h.sesshistDispatch.Recall(rec.SessionID, rec.RecallHistno, rec.RecallPrefix) |
|
|
|
cmd, err := h.sesshistDispatch.Recall(rec.SessionID, rec.RecallHistno, rec.RecallPrefix) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
@ -43,15 +49,19 @@ func (h *recallHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { |
|
|
|
cmd = "" |
|
|
|
cmd = "" |
|
|
|
} |
|
|
|
} |
|
|
|
resp := collect.SingleResponse{CmdLine: cmd, Found: found} |
|
|
|
resp := collect.SingleResponse{CmdLine: cmd, Found: found} |
|
|
|
|
|
|
|
if Debug { |
|
|
|
log.Println("/recall marshaling response ...") |
|
|
|
log.Println("/recall marshaling response ...") |
|
|
|
|
|
|
|
} |
|
|
|
jsn, err = json.Marshal(&resp) |
|
|
|
jsn, err = json.Marshal(&resp) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
log.Println("Encoding error:", err) |
|
|
|
log.Println("Encoding error:", err) |
|
|
|
log.Println("Response:", resp) |
|
|
|
log.Println("Response:", resp) |
|
|
|
return |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if Debug { |
|
|
|
log.Println(string(jsn)) |
|
|
|
log.Println(string(jsn)) |
|
|
|
log.Println("/recall writing response ...") |
|
|
|
log.Println("/recall writing response ...") |
|
|
|
|
|
|
|
} |
|
|
|
w.Write(jsn) |
|
|
|
w.Write(jsn) |
|
|
|
log.Println("/recall END - sess id:", rec.SessionID, " - histno:", rec.RecallHistno, " -> ", cmd, " (found:", found, ")") |
|
|
|
log.Println("/recall END - sess id:", rec.SessionID, " - histno:", rec.RecallHistno, " -> ", cmd, " (found:", found, ")") |
|
|
|
} |
|
|
|
} |
|
|
|
|