nsmcp::QuestionService method readEvidence (protected)
<instance of nsmcp::QuestionService> readEvidence handle id \ evidenceTool
Defined in /usr/local/ns/tcl/nsmcp/question-service.tcl
- Parameters:
- handle (required)
- id (required)
- evidenceTool (required)
- Testcases:
- No testcase defined.
Source code: set path [file join ${:evidenceDirectory} $handle $id.json] if {[file type $path] ne "file" || [file size $path]>${:maxEvidenceBytes}} { error "Evidence unavailable" } # Decode the complete byte sequence at once. Channel decoding can # split supplementary Unicode characters at an input-buffer boundary. set channel [open $path rb] try { set wireResult [read $channel] } finally { close $channel } set bytes [string length $wireResult] set digest [ns_crypto::md string -digest sha256 -binary -encoding hex -- $wireResult] set result [encoding convertfrom utf-8 $wireResult] if {([dict exists $evidenceTool resultBytes] && [dict get $evidenceTool resultBytes]!=$bytes) || ([dict exists $evidenceTool resultSha256] && [dict get $evidenceTool resultSha256] ne $digest)} { error "Evidence integrity check failed: retained tool result is incomplete or changed" } return [list {} object [list result string $result resultBytes number $bytes resultSha256 string $digest]]XQL Not present: Generic, PostgreSQL, Oracle
![[i]](/resources/acs-subsite/ZoomIn16.gif)