nsmcp::ChatCompletionsRun method feed (protected)

 <instance of nsmcp::ChatCompletionsRun[i]> feed data

Defined in /usr/local/ns/tcl/nsmcp/question-chat-completions.tcl

Parameters:
data (required)

Testcases:
No testcase defined.
Source code:
append :lineBuffer $data
while {[set end [string first \n ${:lineBuffer}]] >= 0} {
    set line [string trimright [string range ${:lineBuffer} 0 $end-1] \r]
    set :lineBuffer [string range ${:lineBuffer} $end+1 end]
    if {${:firstLine}} {
        set line [string trimleft $line \ufeff]
        set :firstLine false
    }
    if {$line eq ""} {
        if {${:eventData} ne ""} {
            set event [string range ${:eventData} 0 end-1]
            set :eventData {}
            :event $event
        }
    } elseif {[string index $line 0] ne ":"} {
        set colon [string first : $line]
        if {$colon < 0} {set field $line; set value ""} else {
            set field [string range $line 0 $colon-1]
            set value [string range $line $colon+1 end]
            if {[string index $value 0] eq " "} {set value [string range $value 1 end]}
        }
        if {$field eq "data"} {append :eventData $value \n}
    }
    if {[string bytelength ${:eventData}] > 1048576} {error "API stream event is too large"}
}
if {[string bytelength ${:lineBuffer}] > 1048576} {error "API stream line is too large"}
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: