func checkContentLengthHeader()

in Sources/PackageRegistryCompatibilityTestSuite/APITests/APITest.swift [85:99]


    func checkContentLengthHeader(_ headers: HTTPHeaders, responseBody: ByteBuffer?, isRequired: Bool, for testCase: inout TestCase) {
        testCase.mark("\"Content-Length\" response header")
        let contentLengthHeader = headers["Content-Length"].first
        if contentLengthHeader == nil {
            if isRequired {
                testCase.error("Missing \"Content-Length\" header")
            } else {
                testCase.warning("\"Content-Length\" header should be set")
            }
        }

        if let contentLengthHeader = contentLengthHeader, let responseBody = responseBody, Int(contentLengthHeader) != responseBody.readableBytes {
            testCase.error("Content-Length header (\(contentLengthHeader)) does not match response body length (\(responseBody.readableBytes))")
        }
    }