Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[cronet_http/cupertino_http]: Fixes bugs where cancelling StreamedResponse.stream did not sever the connection #1760

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
May 1, 2025

Conversation

brianquinlan
Copy link
Collaborator


  • I’ve reviewed the contributor guide and applied the relevant portions to this PR.
Contribution guidelines:

Note that many Dart repos have a weekly cadence for reviewing PRs - please allow for some latency before initial review feedback.

Copy link

Package publishing

Package Version Status Publish tag (post-merge)
package:cronet_http 1.3.4-wip WIP (no publish necessary)
package:cupertino_http 2.1.2-wip WIP (no publish necessary)
package:http 1.4.0-wip WIP (no publish necessary)
package:http2 3.0.0 ready to publish http2-v3.0.0
package:http_multi_server 3.2.2 already published at pub.dev
package:http_parser 4.1.2 already published at pub.dev
package:http_profile 0.1.1-wip WIP (no publish necessary)
package:ok_http 0.1.1-wip WIP (no publish necessary)
package:web_socket 1.0.0 already published at pub.dev
package:web_socket_channel 3.0.3 already published at pub.dev

Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.

Copy link

PR Health

Breaking changes ✔️
Package Change Current Version New Version Needed Version Looking good?
cronet_http None 1.3.3 1.3.4-wip 1.3.3 ✔️
cupertino_http None 2.1.1 2.1.2-wip 2.1.1 ✔️
Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

Coverage ⚠️
File Coverage
pkgs/cronet_http/example/integration_test/client_profile_test.dart 💔 Not covered
pkgs/cronet_http/lib/src/cronet_client.dart 💔 Not covered
pkgs/cupertino_http/example/integration_test/client_profile_test.dart 💔 Not covered
pkgs/cupertino_http/lib/src/cupertino_client.dart 💔 Not covered

This check for test coverage is informational (issues shown here will not fail the PR).

This check can be disabled by tagging the PR with skip-coverage-check.

API leaks ⚠️

The following packages contain symbols visible in the public API, but not exported by the library. Export these symbols or remove them from your publicly visible API.

Package Leaked API symbols
cupertino_http ncb.NSURLCache
NSURLRequest
NSURLRequestAttribution
NSCachedURLResponse
ncb.NSURLSessionDelegate
ncb.NSURLSessionConfiguration
SSLProtocol
tls_protocol_version_t
NSHTTPCookieStorage
NSURLCredentialStorage
__darwin_mcontext64
_opaque_pthread_attr_t
__darwin_sigaltstack
__darwin_ucontext
__siginfo
sigval
rusage_info_v6
_malloc_zone_t
_opaque_pthread_cond_t
_opaque_pthread_condattr_t
_opaque_pthread_mutex_t
_opaque_pthread_mutexattr_t
_opaque_pthread_once_t
_opaque_pthread_rwlock_t
_opaque_pthread_rwlockattr_t
_opaque_pthread_t
UnsignedWide
ProcessSerialNumber
Point
Rect
wide
TimeBaseRecord
NumVersionVariant
NumVersion
VersRec
Float80
Float96
__CFString
__CFNull
__CFAllocator
__CFArray
__SecCertificate
__SecIdentity
__SecKey
__SecPolicy
__SecAccessControl
__SecKeychain
__SecKeychainItem
__SecKeychainSearch
SecKeychainAttribute
__SecTrustedApplication
__SecAccess
__SecACL
__SecPassword
__sFILE
__CFBag
__CFBinaryHeap
__CFBitVector
__CFDictionary
__CFNotificationCenter
__CFLocale
__CFDate
__CFTimeZone
__CFData
__CFCharacterSet
__CFError
__CFCalendar
__CFDateFormatter
__CFBoolean
__CFNumber
__CFNumberFormatter
__CFURL
mach_port_status
mach_port_limits
mach_port_info_ext
mach_port_guard_info
mach_port_qos
mach_service_port_info
mach_port_options
UnnamedUnion1
__CFRunLoop
__CFRunLoopSource
__CFRunLoopObserver
__CFRunLoopTimer
__CFSocket
fsignatures
fsupplement
fchecklv
fgetsigsinfo
fstore
fpunchhole
ftrimactivefile
fspecread
fattributiontag
_filesec
OS_os_workgroup
os_workgroup_attr_opaque_s
os_workgroup_join_token_opaque_s
os_workgroup_max_parallel_threads_attr_s
os_workgroup_interval_data_opaque_s
time_value
mach_timespec
mach_msg_mac_trailer_t
security_token_t
audit_token_t
msg_labels_t
mach_msg_security_trailer_t
dispatch_source_type_s
__CFReadStream
__CFWriteStream
__CFSet
__CFTree
__CFUUID
__CFBundle
__CFMessagePort
__CFPlugInInstance
__CFMachPort
__CFAttributedString
__CFURLEnumerator
kauth_ace
guid_t
kauth_acl
kauth_filesec
_acl
_acl_entry
_acl_permset
_acl_flagset
__CFFileSecurity
__CFStringTokenizer
__CFFileDescriptor
__CFUserNotification
__CFXMLNode
__CFXMLParser
cssm_data
SecAsn1Template_struct
cssm_guid
cssm_version
cssm_subservice_uid
cssm_net_address
cssm_crypto_data
cssm_list_element
UnnamedUnion2
cssm_list
CSSM_TUPLE
cssm_tuplegroup
cssm_sample
cssm_samplegroup
cssm_memory_funcs
cssm_encoded_cert
cssm_parsed_cert
cssm_cert_pair
cssm_certgroup
UnnamedUnion3
cssm_base_certs
cssm_access_credentials
cssm_authorizationgroup
cssm_acl_validity_period
cssm_acl_entry_prototype
cssm_acl_owner_prototype
cssm_acl_entry_input
cssm_resource_control_context
cssm_acl_entry_info
cssm_acl_edit
cssm_func_name_addr
cssm_date
cssm_range
cssm_query_size_data
cssm_key_size
cssm_keyheader
cssm_key
cssm_dl_db_handle
cssm_context_attribute
cssm_context_attribute_value
cssm_kr_profile
cssm_context
cssm_pkcs1_oaep_params
cssm_csp_operational_statistics
cssm_pkcs5_pbkdf1_params
cssm_pkcs5_pbkdf2_params
cssm_kea_derive_params
cssm_tp_authority_id
cssm_field
cssm_tp_policyinfo
cssm_dl_db_list
cssm_tp_callerauth_context
cssm_encoded_crl
cssm_parsed_crl
cssm_crl_pair
cssm_crlgroup
UnnamedUnion4
cssm_fieldgroup
cssm_evidence
cssm_tp_verify_context
cssm_tp_verify_context_result
cssm_tp_request_set
cssm_tp_result_set
cssm_tp_confirm_response
cssm_tp_certissue_input
cssm_tp_certissue_output
cssm_tp_certchange_input
cssm_tp_certchange_output
cssm_tp_certverify_input
cssm_tp_certverify_output
cssm_tp_certnotarize_input
cssm_tp_certnotarize_output
cssm_tp_certreclaim_input
cssm_tp_certreclaim_output
cssm_tp_crlissue_input
cssm_tp_crlissue_output
cssm_cert_bundle_header
cssm_cert_bundle
cssm_db_attribute_info
cssm_db_attribute_label
cssm_db_attribute_data
cssm_db_record_attribute_info
cssm_db_record_attribute_data
cssm_db_parsing_module_info
cssm_db_index_info
cssm_db_unique_record
cssm_db_record_index_info
cssm_dbinfo
cssm_selection_predicate
cssm_query_limits
cssm_query
cssm_dl_pkcs11_attributes
cssm_name_list
cssm_db_schema_attribute_info
cssm_db_schema_index_info
SecAsn1AlgId
cssm_x509_type_value_pair
cssm_x509_rdn
cssm_x509_name
SecAsn1PubKeyInfo
cssm_x509_time
x509_validity
cssm_x509ext_basicConstraints
cssm_x509_extensionTagAndValue
cssm_x509ext_pair
cssm_x509_extension
cssm_x509ext_value
extension_data_format
cssm_x509_extensions
cssm_x509_tbs_certificate
cssm_x509_signature
cssm_x509_signed_certificate
cssm_x509ext_policyQualifierInfo
cssm_x509ext_policyQualifiers
cssm_x509ext_policyInfo
cssm_x509_revoked_cert_entry
cssm_x509_revoked_cert_list
cssm_x509_tbs_certlist
cssm_x509_signed_crl
__CE_OtherName
__CE_GeneralName
__CE_GeneralNameType
__CE_GeneralNames
__CE_AuthorityKeyID
__CE_ExtendedKeyUsage
__CE_BasicConstraints
__CE_PolicyQualifierInfo
__CE_PolicyInformation
__CE_CertPolicies
__CE_DistributionPointName
UnnamedUnion5
__CE_CrlDistributionPointNameType
__CE_CRLDistributionPoint
__CE_CRLDistPointsSyntax
__CE_AccessDescription
__CE_AuthorityInfoAccess
__CE_SemanticsInformation
__CE_QC_Statement
__CE_QC_Statements
__CE_IssuingDistributionPoint
__CE_GeneralSubtree
__CE_GeneralSubtrees
__CE_NameConstraints
__CE_PolicyMapping
__CE_PolicyMappings
__CE_PolicyConstraints
__CE_DataAndType
CE_Data
__CE_DataType
cssm_acl_process_subject_selector
cssm_acl_keychain_prompt_selector
cssm_appledl_open_parameters
cssm_applecspdl_db_settings_parameters
cssm_applecspdl_db_is_locked_parameters
cssm_applecspdl_db_change_password_parameters
__SecTrust
SSLContext

This check can be disabled by tagging the PR with skip-leaking-check.

License Headers ✔️
// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
Files
no missing headers

All source files should start with a license header.

Unrelated files missing license headers
Files
pkgs/http/example/main.dart

@brianquinlan brianquinlan merged commit 5704b0c into dart-lang:master May 1, 2025
45 of 47 checks passed
@brianquinlan brianquinlan deleted the cancel_stream branch May 1, 2025 16:58
copybara-service bot pushed a commit to dart-lang/sdk that referenced this pull request May 5, 2025
Revisions updated by `dart tools/rev_sdk_deps.dart`.

dartdoc (https://github.com/dart-lang/dartdoc/compare/95105e9..e4f9451):
  e4f9451a  2025-05-05  Jonas Finnemann Jensen  Fix duplicate entries of elements in a category when re-exported. (dart-lang/dartdoc#4043)
  876180bd  2025-05-01  dependabot[bot]  Bump github/codeql-action from 3.28.13 to 3.28.16 in the github-actions group (dart-lang/dartdoc#4045)

http (https://github.com/dart-lang/http/compare/63c477b..78d6114):
  78d6114  2025-05-02  Brian Quinlan  Add a new exception type `NSErrorClientException` (dart-lang/http#1763)
  7a2e7d5  2025-05-01  Brian Quinlan  Add a useful stringificiation to `WebSocketConnectionClosed` (dart-lang/http#1764)
  ccb6533  2025-05-01  dependabot[bot]  Bump the github-actions group across 1 directory with 4 updates (dart-lang/http#1761)
  7568b5c  2025-05-02  Alex Li  [web_socket] Adds `WebSocketException.toString()` (dart-lang/http#1756)
  3e4cceb  2025-05-01  Brian Quinlan  Make response headers tests pass on firefox (dart-lang/http#1762)
  5704b0c  2025-05-01  Brian Quinlan  [cronet_http/cupertino_http]: Fixes bugs where cancelling `StreamedResponse.stream` did not sever the connection (dart-lang/http#1760)

test (https://github.com/dart-lang/test/compare/c3755d8..55d1f9e):
  55d1f9ed  2025-05-05  Fichtelcoder  Fix typos in json_reporter documentation (dart-lang/test#2493)

vector_math (https://github.com/google/vector_math.dart/compare/39cafd4..0279cb8):
  0279cb8  2025-05-01  Ömer Sinan Ağacan  Improve performance of functions with dynamic arguments (google/vector_math.dart#345)

Change-Id: I9a67b997ebcf7ebe29162f8f524628013d53af5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/426581
Reviewed-by: Konstantin Shcheglov <[email protected]>
Commit-Queue: Devon Carew <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants