diff --git a/.editorconfig b/.editorconfig index 538ba2b2..a6e7d262 100644 --- a/.editorconfig +++ b/.editorconfig @@ -3,3 +3,7 @@ root = true [*] indent_style = tab indent_size = 2 + +[*.{yml,yaml}] +indent_style = space +indent_size = 2 diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index 81f3c655..68adbf24 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -21,10 +21,10 @@ jobs: - macos ruby: - - "3.2" + - "3.3" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{matrix.ruby}} @@ -34,7 +34,7 @@ jobs: timeout-minutes: 5 run: bundle exec bake test - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: coverage-${{matrix.os}}-${{matrix.ruby}} path: .covered.db @@ -44,10 +44,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: - ruby-version: "3.2" + ruby-version: "3.3" bundler-cache: true - uses: actions/download-artifact@v3 diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index 3d483fc8..8dc52272 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -5,9 +5,6 @@ on: branches: - main - # Allows you to run this workflow manually from the Actions tab: - workflow_dispatch: - # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages: permissions: contents: read @@ -28,11 +25,11 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: - ruby-version: "3.2" + ruby-version: "3.3" bundler-cache: true - name: Installing packages @@ -43,7 +40,7 @@ jobs: run: bundle exec bake utopia:project:static --force no - name: Upload documentation artifact - uses: actions/upload-pages-artifact@v1 + uses: actions/upload-pages-artifact@v2 with: path: docs @@ -58,4 +55,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v1 + uses: actions/deploy-pages@v3 diff --git a/.github/workflows/test-external.yaml b/.github/workflows/test-external.yaml index 0d186b8f..21898f54 100644 --- a/.github/workflows/test-external.yaml +++ b/.github/workflows/test-external.yaml @@ -25,7 +25,7 @@ jobs: - "3.3" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{matrix.ruby}} diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 942ede73..0769a983 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -21,9 +21,9 @@ jobs: - macos ruby: - - "3.0" - "3.1" - "3.2" + - "3.3" experimental: [false] @@ -39,7 +39,7 @@ jobs: experimental: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{matrix.ruby}} diff --git a/async-http.gemspec b/async-http.gemspec index 7bd0bcd7..5f227b14 100644 --- a/async-http.gemspec +++ b/async-http.gemspec @@ -7,7 +7,7 @@ Gem::Specification.new do |spec| spec.version = Async::HTTP::VERSION spec.summary = "A HTTP client and server library." - spec.authors = ["Samuel Williams", "Brian Morearty", "Bruno Sutic", "Janko Marohnić", "Adam Daniels", "Thomas Morgan", "Cyril Roelandt", "Denis Talakevich", "Ian Ker-Seymer", "Igor Sidorov", "Marco Concetto Rudilosso", "Olle Jonsson", "Orgad Shaneh", "Sam Shadwell", "Stefan Wrobel", "Tim Meusel", "Trevor Turk", "Viacheslav Koval"] + spec.authors = ["Samuel Williams", "Brian Morearty", "Bruno Sutic", "Janko Marohnić", "Thomas Morgan", "Adam Daniels", "Anton Zhuravsky", "Cyril Roelandt", "Denis Talakevich", "Ian Ker-Seymer", "Igor Sidorov", "Josh Huber", "Marco Concetto Rudilosso", "Olle Jonsson", "Orgad Shaneh", "Sam Shadwell", "Stefan Wrobel", "Tim Meusel", "Trevor Turk", "Viacheslav Koval", "dependabot[bot]"] spec.license = "MIT" spec.cert_chain = ['release.cert'] @@ -15,9 +15,14 @@ Gem::Specification.new do |spec| spec.homepage = "https://github.com/socketry/async-http" + spec.metadata = { + "documentation_uri" => "https://socketry.github.io/async-http/", + "source_code_uri" => "https://github.com/socketry/async-http.git", + } + spec.files = Dir.glob(['{bake,lib}/**/*', '*.md'], File::FNM_DOTMATCH, base: __dir__) - spec.required_ruby_version = ">= 3.0" + spec.required_ruby_version = ">= 3.1" spec.add_dependency "async", ">= 1.25" spec.add_dependency "async-io", ">= 1.28" diff --git a/examples/header-lowercase/benchmark.rb b/examples/header-lowercase/benchmark.rb index 58d92fb7..45338271 100644 --- a/examples/header-lowercase/benchmark.rb +++ b/examples/header-lowercase/benchmark.rb @@ -1,3 +1,8 @@ +# frozen_string_literal: true + +# Released under the MIT License. +# Copyright, 2023-2024, by Samuel Williams. + require 'benchmark/ips' class NormalizedHeaders diff --git a/fixtures/async/http/a_protocol.rb b/fixtures/async/http/a_protocol.rb index 62c90e11..c3b06f8d 100644 --- a/fixtures/async/http/a_protocol.rb +++ b/fixtures/async/http/a_protocol.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2018-2023, by Samuel Williams. +# Copyright, 2018-2024, by Samuel Williams. # Copyright, 2020, by Igor Sidorov. require 'async' diff --git a/gems/async-head.rb b/gems/async-head.rb deleted file mode 100644 index 8a6d92fd..00000000 --- a/gems/async-head.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -# Released under the MIT License. -# Copyright, 2021-2023, by Samuel Williams. - -source 'https://rubygems.org' - -eval_gemfile("../gems.rb") - -gem 'async', git: "https://github.com/socketry/async" diff --git a/gems/async-v1.rb b/gems/async-v1.rb deleted file mode 100644 index c876a971..00000000 --- a/gems/async-v1.rb +++ /dev/null @@ -1,10 +0,0 @@ -# frozen_string_literal: true - -# Released under the MIT License. -# Copyright, 2021-2023, by Samuel Williams. - -source 'https://rubygems.org' - -eval_gemfile("../gems.rb") - -gem 'async', '~> 1.0' diff --git a/lib/async/http/client.rb b/lib/async/http/client.rb index 93485f7b..5783669d 100755 --- a/lib/async/http/client.rb +++ b/lib/async/http/client.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2017-2023, by Samuel Williams. +# Copyright, 2017-2024, by Samuel Williams. # Copyright, 2022, by Ian Ker-Seymer. require 'async/io/endpoint' diff --git a/lib/async/http/endpoint.rb b/lib/async/http/endpoint.rb index ce808396..88c85dbe 100644 --- a/lib/async/http/endpoint.rb +++ b/lib/async/http/endpoint.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2019-2023, by Samuel Williams. +# Copyright, 2019-2024, by Samuel Williams. # Copyright, 2021-2022, by Adam Daniels. require 'async/io/host_endpoint' diff --git a/lib/async/http/protocol/http1/connection.rb b/lib/async/http/protocol/http1/connection.rb index a12a6271..fb8491bb 100755 --- a/lib/async/http/protocol/http1/connection.rb +++ b/lib/async/http/protocol/http1/connection.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2018-2023, by Samuel Williams. +# Copyright, 2018-2024, by Samuel Williams. require 'protocol/http1' diff --git a/lib/async/http/protocol/http1/response.rb b/lib/async/http/protocol/http1/response.rb index 0803da38..6027e199 100644 --- a/lib/async/http/protocol/http1/response.rb +++ b/lib/async/http/protocol/http1/response.rb @@ -1,7 +1,8 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2018-2023, by Samuel Williams. +# Copyright, 2018-2024, by Samuel Williams. +# Copyright, 2023, by Josh Huber. require_relative '../response' diff --git a/lib/async/http/protocol/http1/server.rb b/lib/async/http/protocol/http1/server.rb index 79bc2486..ebd935fa 100644 --- a/lib/async/http/protocol/http1/server.rb +++ b/lib/async/http/protocol/http1/server.rb @@ -1,9 +1,10 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2018-2023, by Samuel Williams. +# Copyright, 2018-2024, by Samuel Williams. # Copyright, 2020, by Igor Sidorov. # Copyright, 2023, by Thomas Morgan. +# Copyright, 2024, by Anton Zhuravsky. require_relative 'connection' diff --git a/lib/async/http/protocol/http2/connection.rb b/lib/async/http/protocol/http2/connection.rb index 73f9b75e..a07556a0 100644 --- a/lib/async/http/protocol/http2/connection.rb +++ b/lib/async/http/protocol/http2/connection.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2018-2023, by Samuel Williams. +# Copyright, 2018-2024, by Samuel Williams. # Copyright, 2020, by Bruno Sutic. require_relative 'stream' diff --git a/lib/async/http/protocol/http2/server.rb b/lib/async/http/protocol/http2/server.rb index 907698ed..a0b77ade 100644 --- a/lib/async/http/protocol/http2/server.rb +++ b/lib/async/http/protocol/http2/server.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2018-2023, by Samuel Williams. +# Copyright, 2018-2024, by Samuel Williams. require_relative 'connection' require_relative 'request' diff --git a/lib/async/http/protocol/http2/stream.rb b/lib/async/http/protocol/http2/stream.rb index 7cb3c876..580ed196 100644 --- a/lib/async/http/protocol/http2/stream.rb +++ b/lib/async/http/protocol/http2/stream.rb @@ -1,8 +1,9 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2018-2023, by Samuel Williams. +# Copyright, 2018-2024, by Samuel Williams. # Copyright, 2022, by Marco Concetto Rudilosso. +# Copyright, 2023, by Thomas Morgan. require 'protocol/http2/stream' diff --git a/lib/async/http/protocol/https.rb b/lib/async/http/protocol/https.rb index a559fd29..028885e9 100644 --- a/lib/async/http/protocol/https.rb +++ b/lib/async/http/protocol/https.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2018-2023, by Samuel Williams. +# Copyright, 2018-2024, by Samuel Williams. # Copyright, 2019, by Brian Morearty. require_relative 'http10' diff --git a/lib/async/http/server.rb b/lib/async/http/server.rb index 7d5fb1e1..48d8ee00 100755 --- a/lib/async/http/server.rb +++ b/lib/async/http/server.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2017-2023, by Samuel Williams. +# Copyright, 2017-2024, by Samuel Williams. # Copyright, 2019, by Brian Morearty. require 'async/io/endpoint' diff --git a/lib/async/http/version.rb b/lib/async/http/version.rb index 4ff55e22..b480ed22 100644 --- a/lib/async/http/version.rb +++ b/lib/async/http/version.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2017-2023, by Samuel Williams. +# Copyright, 2017-2024, by Samuel Williams. module Async module HTTP diff --git a/license.md b/license.md index 22d2d13e..c694bcc7 100644 --- a/license.md +++ b/license.md @@ -1,6 +1,6 @@ # MIT License -Copyright, 2017-2023, by Samuel Williams. +Copyright, 2017-2024, by Samuel Williams. Copyright, 2018, by Viacheslav Koval. Copyright, 2018, by Janko Marohnić. Copyright, 2019, by Denis Talakevich. @@ -18,6 +18,9 @@ Copyright, 2022, by Ian Ker-Seymer. Copyright, 2022, by Marco Concetto Rudilosso. Copyright, 2022, by Tim Meusel. Copyright, 2023, by Thomas Morgan. +Copyright, 2023, by dependabot[bot]. +Copyright, 2023, by Josh Huber. +Copyright, 2024, by Anton Zhuravsky. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/readme.md b/readme.md index 6eb705a9..1a22fe6b 100644 --- a/readme.md +++ b/readme.md @@ -373,7 +373,7 @@ This project uses the [Developer Certificate of Origin](https://developercertifi ### Contributor Covenant -This project is governed by [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms. +This project is governed by the [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms. ## See Also diff --git a/test/async/http/client.rb b/test/async/http/client.rb index 367096ef..040b82aa 100644 --- a/test/async/http/client.rb +++ b/test/async/http/client.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2017-2023, by Samuel Williams. +# Copyright, 2017-2024, by Samuel Williams. require 'async/http/server' require 'async/http/client' diff --git a/test/async/http/protocol/http11.rb b/test/async/http/protocol/http11.rb index 711823bc..3fa8db7e 100755 --- a/test/async/http/protocol/http11.rb +++ b/test/async/http/protocol/http11.rb @@ -1,9 +1,11 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2017-2023, by Samuel Williams. +# Copyright, 2017-2024, by Samuel Williams. # Copyright, 2018, by Janko Marohnić. # Copyright, 2023, by Thomas Morgan. +# Copyright, 2023, by Josh Huber. +# Copyright, 2024, by Anton Zhuravsky. require 'async/http/protocol/http11' require 'async/http/a_protocol' diff --git a/test/async/http/protocol/http2.rb b/test/async/http/protocol/http2.rb index 7e6ba775..86d4285b 100644 --- a/test/async/http/protocol/http2.rb +++ b/test/async/http/protocol/http2.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # Released under the MIT License. -# Copyright, 2018-2023, by Samuel Williams. +# Copyright, 2018-2024, by Samuel Williams. require 'async/http/protocol/http2' require 'async/http/a_protocol'