8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/smart_scheduling_links_test_kit/resource_group.rb', line 8
def validate_response(url, profile_url)
previous_chunk = String.new
@valid_resource_count ||= 0
line_count = 0
process_body = lambda do |new_chunk, _|
current_chunk = previous_chunk + new_chunk
lines = current_chunk.lines
previous_chunk = lines.pop || String.new
lines.each do |line|
break if (max_lines.present? && line_count >= max_lines) ||
messages.any? { |message| message[:type] == 'error' }
assert_valid_json(line)
resource = FHIR.from_contents(line)
@valid_resource_count += 1 if resource_is_valid?(resource:, profile_url:)
line_count += 1
end
end
stream(process_body, url, headers: { 'Accept' => 'application/fhir+ndjson' })
end
|