Skip to content

Commit cc39071

Browse files
committed
Merge package:http2 into the http monorepo
2 parents 75bd389 + 4d1b69a commit cc39071

File tree

71 files changed

+11326
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+11326
-0
lines changed

pkgs/http2/.github/dependabot.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Dependabot configuration file.
2+
version: 2
3+
4+
updates:
5+
- package-ecosystem: github-actions
6+
directory: /
7+
schedule:
8+
interval: monthly
9+
labels:
10+
- autosubmit
11+
groups:
12+
github-actions:
13+
patterns:
14+
- "*"
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Health
2+
3+
on:
4+
pull_request:
5+
branches: [ master ]
6+
types: [opened, synchronize, reopened, labeled, unlabeled]
7+
8+
jobs:
9+
health:
10+
uses: dart-lang/ecosystem/.github/workflows/health.yaml@main
11+
with:
12+
coverage_web: false
13+
sdk: dev
14+
permissions:
15+
pull-requests: write
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# A workflow to close issues where the author hasn't responded to a request for
2+
# more information; see https://github.com/actions/stale.
3+
4+
name: No Response
5+
6+
# Run as a daily cron.
7+
on:
8+
schedule:
9+
# Every day at 8am
10+
- cron: '0 8 * * *'
11+
12+
# All permissions not specified are set to 'none'.
13+
permissions:
14+
issues: write
15+
pull-requests: write
16+
17+
jobs:
18+
no-response:
19+
runs-on: ubuntu-latest
20+
if: ${{ github.repository_owner == 'dart-lang' }}
21+
steps:
22+
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e
23+
with:
24+
# Don't automatically mark inactive issues+PRs as stale.
25+
days-before-stale: -1
26+
# Close needs-info issues and PRs after 14 days of inactivity.
27+
days-before-close: 14
28+
stale-issue-label: "needs-info"
29+
close-issue-message: >
30+
Without additional information we're not able to resolve this issue.
31+
Feel free to add more info or respond to any questions above and we
32+
can reopen the case. Thanks for your contribution!
33+
stale-pr-label: "needs-info"
34+
close-pr-message: >
35+
Without additional information we're not able to resolve this PR.
36+
Feel free to add more info or respond to any questions above.
37+
Thanks for your contribution!
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Comment on the pull request
2+
3+
on:
4+
# Trigger this workflow after the Health workflow completes. This workflow will have permissions to
5+
# do things like create comments on the PR, even if the original workflow couldn't.
6+
workflow_run:
7+
workflows:
8+
- Health
9+
- Publish
10+
types:
11+
- completed
12+
13+
jobs:
14+
upload:
15+
uses: dart-lang/ecosystem/.github/workflows/post_summaries.yaml@main
16+
permissions:
17+
pull-requests: write
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# A CI configuration to auto-publish pub packages.
2+
3+
name: Publish
4+
5+
on:
6+
pull_request:
7+
branches: [ master ]
8+
push:
9+
tags: [ 'v[0-9]+.[0-9]+.[0-9]+' ]
10+
11+
jobs:
12+
publish:
13+
if: ${{ github.repository_owner == 'dart-lang' }}
14+
uses: dart-lang/ecosystem/.github/workflows/publish.yaml@main
15+
permissions:
16+
id-token: write # Required for authentication using OIDC
17+
pull-requests: write # Required for writing the pull request note
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Dart CI
2+
3+
on:
4+
# Run on PRs and pushes to the default branch.
5+
push:
6+
branches: [ master ]
7+
pull_request:
8+
branches: [ master ]
9+
schedule:
10+
- cron: "0 0 * * 0"
11+
12+
env:
13+
PUB_ENVIRONMENT: bot.github
14+
15+
jobs:
16+
# Check code formatting and static analysis on a single OS (linux)
17+
# against Dart dev.
18+
analyze:
19+
runs-on: ubuntu-latest
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
sdk: [dev]
24+
steps:
25+
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
26+
- uses: dart-lang/setup-dart@0a8a0fc875eb934c15d08629302413c671d3f672
27+
with:
28+
sdk: ${{ matrix.sdk }}
29+
- id: install
30+
name: Install dependencies
31+
run: dart pub get
32+
- name: Check formatting
33+
run: dart format --output=none --set-exit-if-changed .
34+
if: always() && steps.install.outcome == 'success'
35+
- name: Analyze code
36+
run: dart analyze --fatal-infos
37+
if: always() && steps.install.outcome == 'success'
38+
39+
# Run tests on a matrix consisting of two dimensions:
40+
# 1. OS: ubuntu-latest, (macos-latest, windows-latest)
41+
# 2. release channel: dev
42+
test:
43+
needs: analyze
44+
runs-on: ${{ matrix.os }}
45+
strategy:
46+
fail-fast: false
47+
matrix:
48+
# Add macos-latest and/or windows-latest if relevant for this package.
49+
os: [ubuntu-latest]
50+
sdk: [3.2, dev]
51+
steps:
52+
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938
53+
- uses: dart-lang/setup-dart@0a8a0fc875eb934c15d08629302413c671d3f672
54+
with:
55+
sdk: ${{ matrix.sdk }}
56+
- id: install
57+
name: Install dependencies
58+
run: dart pub get
59+
- name: Run VM tests
60+
run: dart test --platform vm
61+
if: always() && steps.install.outcome == 'success'

pkgs/http2/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Don’t commit the following directories created by pub.
2+
.dart_tool
3+
.packages
4+
pubspec.lock

pkgs/http2/.test_config

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"test_package": {
3+
"platforms" : ["vm"]
4+
}
5+
}

pkgs/http2/AUTHORS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Below is a list of people and organizations that have contributed
2+
# to the project. Names should be added to the list like so:
3+
#
4+
# Name/Organization <email address>
5+
6+
Google Inc. <*@google.com>
7+
8+
Alexandre Ardhuin <[email protected]>

pkgs/http2/CHANGELOG.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
## 2.3.1-wip
2+
3+
- Require Dart 3.2
4+
- Add topics to `pubspec.yaml`
5+
6+
## 2.3.0
7+
8+
- Only send updates on frames and pings being received when there are listeners, as to not fill up memory.
9+
10+
## 2.2.0
11+
12+
- Transform headers to lowercase.
13+
- Expose pings to connection to enable the KEEPALIVE feature for gRPC.
14+
15+
## 2.1.0
16+
17+
- Require Dart `3.0.0`
18+
- Require Dart `2.17.0`.
19+
- Send `WINDOW_UPDATE` frames for the connection to account for data being sent on closed streams until the `RST_STREAM` has been processed.
20+
21+
## 2.0.1
22+
23+
- Simplify the implementation of `MultiProtocolHttpServer.close`.
24+
- Require Dart `2.15.0`.
25+
26+
## 2.0.0
27+
28+
* Migrate to null safety.
29+
30+
## 1.0.1
31+
32+
* Add `TransportConnection.onInitialPeerSettingsReceived` which fires when
33+
initial SETTINGS frame is received from the peer.
34+
35+
## 1.0.0
36+
37+
* Graduate package to 1.0.
38+
* `package:http2/http2.dart` now reexports `package:http2/transport.dart`.
39+
40+
## 0.1.9
41+
42+
* Discard messages incoming after stream cancellation.
43+
44+
## 0.1.8+2
45+
46+
* On connection termination, try to dispatch existing messages, thereby avoiding
47+
terminating existing streams.
48+
49+
* Fix `ClientTransportConnection.isOpen` to return `false` if we have exhausted
50+
the number of max-concurrent-streams.
51+
52+
## 0.1.8+1
53+
54+
* Switch all uppercase constants from `dart:convert` to lowercase.
55+
56+
## 0.1.8
57+
58+
* More changes required for making tests pass under Dart 2.0 runtime.
59+
* Modify sdk constraint to require '>=2.0.0-dev.40.0'.
60+
61+
## 0.1.7
62+
63+
* Fixes for Dart 2.0.
64+
65+
## 0.1.6
66+
67+
* Strong mode fixes and other cleanup.
68+
69+
## 0.1.5
70+
71+
* Removed use of new `Function` syntax, since it isn't fully supported in Dart
72+
1.24.
73+
74+
## 0.1.4
75+
76+
* Added an `onActiveStateChanged` callback to `Connection`, which is invoked when
77+
the connection changes state from idle to active or from active to idle. This
78+
can be used to implement an idle connection timeout.
79+
80+
## 0.1.3
81+
82+
* Fixed a bug where a closed window would not open correctly due to an increase
83+
in initial window size.
84+
85+
## 0.1.2
86+
87+
* The endStream bit is now set on the requested frame, instead of on an empty
88+
data frame following it.
89+
* Added an `onTerminated` hook that is called when a TransportStream receives
90+
a RST_STREAM frame.
91+
92+
## 0.1.1+2
93+
94+
* Add errorCode to exception toString message.
95+
96+
## 0.1.1+1
97+
98+
* Fixing a performance issue in case the underlying socket is not writeable
99+
* Allow clients of MultiProtocolHttpServer to supply [http.ServerSettings]
100+
* Allow the draft version 'h2-14' in the ALPN protocol negogiation.
101+
102+
## 0.1.1
103+
104+
* Adding support for MultiProtocolHttpServer in the
105+
`package:http2/multiprotocol_server.dart` library
106+
107+
## 0.1.0
108+
109+
* First version of a HTTP/2 transport implementation in the
110+
`package:http2/transport.dart` library
111+
112+
## 0.0.1
113+
114+
- Initial version

0 commit comments

Comments
 (0)