diff --git a/blaze-core/src/main/scala/org/http4s/blazecore/util/Http2Writer.scala b/blaze-core/src/main/scala/org/http4s/blazecore/util/Http2Writer.scala index 64377bbee..a0d6377ca 100644 --- a/blaze-core/src/main/scala/org/http4s/blazecore/util/Http2Writer.scala +++ b/blaze-core/src/main/scala/org/http4s/blazecore/util/Http2Writer.scala @@ -29,6 +29,7 @@ import org.http4s.blaze.pipeline.TailStage import scala.concurrent._ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http4s] class Http2Writer[F[_]]( tail: TailStage[StreamFrame], private var headers: Headers, diff --git a/blaze-server/src/main/scala/org/http4s/blaze/server/BlazeServerBuilder.scala b/blaze-server/src/main/scala/org/http4s/blaze/server/BlazeServerBuilder.scala index 11f7d9831..83823d452 100644 --- a/blaze-server/src/main/scala/org/http4s/blaze/server/BlazeServerBuilder.scala +++ b/blaze-server/src/main/scala/org/http4s/blaze/server/BlazeServerBuilder.scala @@ -243,6 +243,7 @@ class BlazeServerBuilder[F[_]] private ( def withWebSockets(enableWebsockets: Boolean): Self = this + @deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") def enableHttp2(enabled: Boolean): Self = copy(http2Support = enabled) def withHttpApp(httpApp: HttpApp[F]): Self = diff --git a/blaze-server/src/main/scala/org/http4s/blaze/server/Http2NodeStage.scala b/blaze-server/src/main/scala/org/http4s/blaze/server/Http2NodeStage.scala index 37ae4e6bb..42788195d 100644 --- a/blaze-server/src/main/scala/org/http4s/blaze/server/Http2NodeStage.scala +++ b/blaze-server/src/main/scala/org/http4s/blaze/server/Http2NodeStage.scala @@ -46,6 +46,7 @@ import scala.concurrent.duration.Duration import scala.concurrent.duration.FiniteDuration import scala.util._ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private class Http2NodeStage[F[_]]( streamId: Int, timeout: Duration, diff --git a/blaze-server/src/main/scala/org/http4s/blaze/server/ProtocolSelector.scala b/blaze-server/src/main/scala/org/http4s/blaze/server/ProtocolSelector.scala index 5ebe21884..32f185eb1 100644 --- a/blaze-server/src/main/scala/org/http4s/blaze/server/ProtocolSelector.scala +++ b/blaze-server/src/main/scala/org/http4s/blaze/server/ProtocolSelector.scala @@ -33,11 +33,13 @@ import org.typelevel.vault._ import java.nio.ByteBuffer import javax.net.ssl.SSLEngine +import scala.annotation.nowarn import scala.concurrent.ExecutionContext import scala.concurrent.duration.Duration /** Facilitates the use of ALPN when using blaze http2 support */ private[http4s] object ProtocolSelector { + @nowarn("cat=deprecation") def apply[F[_]]( engine: SSLEngine, httpApp: HttpApp[F], diff --git a/examples/src/main/scala/com/example/http4s/blaze/BlazeHttp2Example.scala b/examples/src/main/scala/com/example/http4s/blaze/BlazeHttp2Example.scala deleted file mode 100644 index ede23cad0..000000000 --- a/examples/src/main/scala/com/example/http4s/blaze/BlazeHttp2Example.scala +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2014 http4s.org - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.example.http4s -package blaze - -import cats.effect._ - -object BlazeHttp2Example extends IOApp { - override def run(args: List[String]): IO[ExitCode] = - BlazeSslExampleApp.builder[IO].flatMap(_.enableHttp2(true).serve.compile.lastOrError) -} diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/ByteBufferInputStream.scala b/http/src/main/scala/org/http4s/blaze/http/http2/ByteBufferInputStream.scala index 78b3db20c..41bcb6843 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/ByteBufferInputStream.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/ByteBufferInputStream.scala @@ -22,6 +22,7 @@ import java.nio.ByteBuffer /** Wrap a `ByteBuffer` in an `InputStream` interface. This is just an adapter to work with the * twitter hpack implementation. I would really like to get rid of it. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private final class ByteBufferInputStream(buffer: ByteBuffer) extends InputStream { private[this] var markSize = -1 diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/Connection.scala b/http/src/main/scala/org/http4s/blaze/http/http2/Connection.scala index f1cce195d..80b412ce6 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/Connection.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/Connection.scala @@ -23,6 +23,7 @@ import scala.concurrent.Future import scala.concurrent.duration.Duration /** Representation of the HTTP connection or session */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private trait Connection { /** An estimate for the current quality of the connection @@ -78,6 +79,7 @@ private trait Connection { def onClose: Future[Unit] } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[blaze] object Connection { sealed abstract class State extends Product with Serializable { final def closing: Boolean = !running diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/ConnectionImpl.scala b/http/src/main/scala/org/http4s/blaze/http/http2/ConnectionImpl.scala index da9ff7b0c..0354f93c8 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/ConnectionImpl.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/ConnectionImpl.scala @@ -35,6 +35,7 @@ import scala.util.{Failure, Success} * the TailStage needs to be ready to go as this session will start reading from the channel * immediately. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private final class ConnectionImpl( tailStage: TailStage[ByteBuffer], val localSettings: Http2Settings, diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/DefaultFlowStrategy.scala b/http/src/main/scala/org/http4s/blaze/http/http2/DefaultFlowStrategy.scala index a30954015..b5fe5fcbc 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/DefaultFlowStrategy.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/DefaultFlowStrategy.scala @@ -18,6 +18,7 @@ package org.http4s.blaze.http.http2 import org.http4s.blaze.http.http2.FlowStrategy.Increment +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") final class DefaultFlowStrategy(localSettings: Http2Settings) extends FlowStrategy { override def checkSession(session: SessionFlowControl): Int = check( diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/FlowStrategy.scala b/http/src/main/scala/org/http4s/blaze/http/http2/FlowStrategy.scala index cbc0188ed..a12f4f075 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/FlowStrategy.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/FlowStrategy.scala @@ -22,6 +22,7 @@ import org.http4s.blaze.http.http2.FlowStrategy.Increment * * A `FlowStrategy` will be shared among many sessions. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") trait FlowStrategy { /** Decide if the session window needs to send a WINDOW_UPDATE frame @@ -52,6 +53,7 @@ trait FlowStrategy { def checkStream(stream: StreamFlowWindow): Increment } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") object FlowStrategy { // Make the object private to restrict construction of // `Increment`s to the `makeIncrement` method diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/FrameDecoder.scala b/http/src/main/scala/org/http4s/blaze/http/http2/FrameDecoder.scala index 46cd8a3c3..0d04b3dde 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/FrameDecoder.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/FrameDecoder.scala @@ -24,6 +24,7 @@ import org.http4s.blaze.http.http2.bits.{Flags, Masks} /* The job of the Http2FrameDecoder is to slice the ByteBuffers. It does not attempt to decode headers or perform any size limiting operations */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private class FrameDecoder(localSettings: Http2Settings, listener: FrameListener) { import bits._ import FrameDecoder._ @@ -310,6 +311,7 @@ private class FrameDecoder(localSettings: Http2Settings, listener: FrameListener listener.onContinuationFrame(streamId, Flags.END_HEADERS(flags), buffer.slice()) } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private object FrameDecoder { /** Get the length field of the frame, consuming the bytes from the buffer. diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/FrameEncoder.scala b/http/src/main/scala/org/http4s/blaze/http/http2/FrameEncoder.scala index 1a0413c48..e13957ebb 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/FrameEncoder.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/FrameEncoder.scala @@ -23,6 +23,7 @@ import org.http4s.blaze.util.BufferTools import scala.collection.mutable.ArrayBuffer /** A more humane interface for writing HTTP messages. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private final class FrameEncoder(remoteSettings: Http2Settings, headerEncoder: HeaderEncoder) { // Just a shortcut private[this] def maxFrameSize: Int = remoteSettings.maxFrameSize diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/FrameListener.scala b/http/src/main/scala/org/http4s/blaze/http/http2/FrameListener.scala index 4d66c722a..d7577de36 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/FrameListener.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/FrameListener.scala @@ -30,6 +30,7 @@ import Http2Settings.Setting * is 4 bytes long and the [[FrameListener]] would be expected to signal an error if the window * increment was 0 or the update was for an idle stream. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private trait FrameListener { /** Determine whether we are in the midst of a sequence of header and header continuation frames diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/FrameSerializer.scala b/http/src/main/scala/org/http4s/blaze/http/http2/FrameSerializer.scala index 99c96f86b..32b29c8b6 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/FrameSerializer.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/FrameSerializer.scala @@ -22,6 +22,7 @@ import java.nio.charset.StandardCharsets import org.http4s.blaze.http.http2.Http2Settings.Setting import org.http4s.blaze.util.BufferTools +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] object FrameSerializer { import bits._ diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/HeaderAggregatingFrameListener.scala b/http/src/main/scala/org/http4s/blaze/http/http2/HeaderAggregatingFrameListener.scala index 14cc3cb28..81b3819aa 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/HeaderAggregatingFrameListener.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/HeaderAggregatingFrameListener.scala @@ -33,6 +33,7 @@ import Http2Exception.PROTOCOL_ERROR * @note * This class is not 'thread safe' and should be treated accordingly. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private abstract class HeaderAggregatingFrameListener( localSettings: Http2Settings, headerDecoder: HeaderDecoder diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/HeaderDecoder.scala b/http/src/main/scala/org/http4s/blaze/http/http2/HeaderDecoder.scala index 4add9dfc2..4b1648f85 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/HeaderDecoder.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/HeaderDecoder.scala @@ -38,6 +38,7 @@ import scala.util.control.NonFatal * @param maxTableSize * maximum compression table to maintain */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private final class HeaderDecoder( maxHeaderListSize: Int, discardOverflowHeaders: Boolean, diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/HeaderEncoder.scala b/http/src/main/scala/org/http4s/blaze/http/http2/HeaderEncoder.scala index 087a0c224..78e288501 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/HeaderEncoder.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/HeaderEncoder.scala @@ -29,6 +29,7 @@ import com.twitter.hpack.Encoder * @param initialMaxTableSize * maximum HPACK table size the peer will allow. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class HeaderEncoder(initialMaxTableSize: Int) { private[this] val encoder = new Encoder(initialMaxTableSize) private[this] val os = new ByteArrayOutputStream(1024) diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/Http2Exception.scala b/http/src/main/scala/org/http4s/blaze/http/http2/Http2Exception.scala index 95251ea79..2aed6e95c 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/Http2Exception.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/Http2Exception.scala @@ -21,6 +21,7 @@ import java.nio.charset.StandardCharsets.UTF_8 import scala.collection.mutable import scala.util.control.NoStackTrace +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") sealed abstract class Http2Exception(msg: String) extends Exception(msg) with NoStackTrace @@ -61,12 +62,15 @@ sealed abstract class Http2Exception(msg: String) final def msgBuffer(): ByteBuffer = ByteBuffer.wrap(msg.getBytes(UTF_8)) } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") final case class Http2StreamException(stream: Int, code: Long, msg: String) extends Http2Exception(msg) +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") final case class Http2SessionException(code: Long, msg: String) extends Http2Exception(msg) ///////////////////// HTTP/2.0 Errors ////////////////////////////// +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") object Http2Exception { final class ErrorGenerator private[http2] (val code: Long, val name: String) { diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/Http2Settings.scala b/http/src/main/scala/org/http4s/blaze/http/http2/Http2Settings.scala index bbb2593f8..2eb2b8538 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/Http2Settings.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/Http2Settings.scala @@ -27,6 +27,7 @@ import scala.collection.mutable * @see * https://tools.ietf.org/html/rfc7540#section-6.5.2, where the doc strings were obtained. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") sealed abstract class Http2Settings { /** Allows the sender to inform the remote endpoint of the maximum size of the header compression @@ -82,6 +83,7 @@ sealed abstract class Http2Settings { } /** Immutable representation of [[Http2Settings]] for configuring clients and servers */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") case class ImmutableHttp2Settings( headerTableSize: Int, initialWindowSize: Int, @@ -91,6 +93,7 @@ case class ImmutableHttp2Settings( maxHeaderListSize: Int ) extends Http2Settings +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") object Http2Settings { type SettingValue = Int @@ -192,6 +195,7 @@ object Http2Settings { } /** Internal mutable representation of the [[Http2Settings]] */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[blaze] final class MutableHttp2Settings private ( var headerTableSize: Int, var initialWindowSize: Int, @@ -229,6 +233,7 @@ private[blaze] final class MutableHttp2Settings private ( s"MutableHttp2Settings(${toSeq.mkString(", ")})" } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private object MutableHttp2Settings { private val logger = getLogger diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/InboundStreamState.scala b/http/src/main/scala/org/http4s/blaze/http/http2/InboundStreamState.scala index 8960369d1..9d5ae64a3 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/InboundStreamState.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/InboundStreamState.scala @@ -21,4 +21,5 @@ package org.http4s.blaze.http.http2 * @note * this is only a marker trait */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private trait InboundStreamState extends StreamState diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/InboundStreamStateImpl.scala b/http/src/main/scala/org/http4s/blaze/http/http2/InboundStreamStateImpl.scala index cbd58c3bf..5c0db630b 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/InboundStreamStateImpl.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/InboundStreamStateImpl.scala @@ -16,6 +16,7 @@ package org.http4s.blaze.http.http2 +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private final class InboundStreamStateImpl( session: SessionCore, val streamId: Int, diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/OutboundStreamState.scala b/http/src/main/scala/org/http4s/blaze/http/http2/OutboundStreamState.scala index 6bb85a4c7..ebc0c2668 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/OutboundStreamState.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/OutboundStreamState.scala @@ -25,4 +25,5 @@ package org.http4s.blaze.http.http2 * @note * this is a marker trait */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private trait OutboundStreamState extends StreamState diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/OutboundStreamStateImpl.scala b/http/src/main/scala/org/http4s/blaze/http/http2/OutboundStreamStateImpl.scala index 48b515352..6618137fe 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/OutboundStreamStateImpl.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/OutboundStreamStateImpl.scala @@ -19,6 +19,7 @@ package org.http4s.blaze.http.http2 import scala.concurrent.Promise import scala.concurrent.duration.Duration +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private abstract class OutboundStreamStateImpl(session: SessionCore) extends StreamStateImpl(session) with OutboundStreamState { diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/PingManager.scala b/http/src/main/scala/org/http4s/blaze/http/http2/PingManager.scala index e984d965f..ccbba3491 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/PingManager.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/PingManager.scala @@ -24,6 +24,7 @@ import org.log4s.getLogger import scala.concurrent.{Future, Promise} import scala.concurrent.duration.Duration +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private class PingManager(session: SessionCore) { import PingManager._ @@ -99,6 +100,7 @@ private class PingManager(session: SessionCore) { } } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private object PingManager { private sealed trait State diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/PriorKnowledgeHandshaker.scala b/http/src/main/scala/org/http4s/blaze/http/http2/PriorKnowledgeHandshaker.scala index 97feee66b..960e774f2 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/PriorKnowledgeHandshaker.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/PriorKnowledgeHandshaker.scala @@ -24,6 +24,7 @@ import org.http4s.blaze.util.{BufferTools, Execution} import scala.concurrent.{ExecutionContext, Future} /** Base type for performing the HTTP/2 prior knowledge handshake */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") abstract class PriorKnowledgeHandshaker[T](localSettings: ImmutableHttp2Settings) extends TailStage[ByteBuffer] { implicit protected final def ec: ExecutionContext = Execution.trampoline diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/Priority.scala b/http/src/main/scala/org/http4s/blaze/http/http2/Priority.scala index e14989140..bd678f1db 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/Priority.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/Priority.scala @@ -16,10 +16,12 @@ package org.http4s.blaze.http.http2 +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") sealed trait Priority { def isDefined: Boolean } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") object Priority { /** object representing the contents of a PRIORITY frame diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/PseudoHeaders.scala b/http/src/main/scala/org/http4s/blaze/http/http2/PseudoHeaders.scala index 04c606075..433d0ae0c 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/PseudoHeaders.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/PseudoHeaders.scala @@ -17,6 +17,7 @@ package org.http4s.blaze.http.http2 /** HTTP/2 pseudo headers */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") object PseudoHeaders { // Request pseudo headers val Method = ":method" diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/Result.scala b/http/src/main/scala/org/http4s/blaze/http/http2/Result.scala index b99005f7b..29b418200 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/Result.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/Result.scala @@ -17,16 +17,20 @@ package org.http4s.blaze.http.http2 /** Result type of many of the codec methods */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private sealed trait Result extends Product with Serializable /** Didn't get enough data to decode a full HTTP/2 frame */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private case object BufferUnderflow extends Result /** Represents the possibility of failure */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private sealed abstract class MaybeError extends Result { final def success: Boolean = this == Continue } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private object MaybeError { def apply(option: Option[Http2Exception]): MaybeError = option match { @@ -35,5 +39,8 @@ private object MaybeError { } } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private case object Continue extends MaybeError + +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private final case class Error(err: Http2Exception) extends MaybeError diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/SessionCore.scala b/http/src/main/scala/org/http4s/blaze/http/http2/SessionCore.scala index 3ce5bc47e..6276ad281 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/SessionCore.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/SessionCore.scala @@ -23,6 +23,7 @@ import scala.concurrent.duration.Duration * 'bag-o-references' so that each component can reference each other. This helps to avoid * construction order conflicts. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private abstract class SessionCore { // Fields def serialExecutor: ExecutionContext diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/SessionFlowControl.scala b/http/src/main/scala/org/http4s/blaze/http/http2/SessionFlowControl.scala index 8c2dab75e..96d6a61ee 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/SessionFlowControl.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/SessionFlowControl.scala @@ -17,6 +17,7 @@ package org.http4s.blaze.http.http2 /** Flow control representation of a Http2 Session */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") abstract class SessionFlowControl { /** Create a new [[StreamFlowWindow]] for a stream which will update and check the bounds of the diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/SessionFlowControlImpl.scala b/http/src/main/scala/org/http4s/blaze/http/http2/SessionFlowControlImpl.scala index e45123c7c..5b4ec0179 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/SessionFlowControlImpl.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/SessionFlowControlImpl.scala @@ -21,6 +21,7 @@ import org.http4s.blaze.http.http2.Http2Exception.{FLOW_CONTROL_ERROR, PROTOCOL_ import org.log4s.getLogger /** Flow control representation of a Http2 Session */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private class SessionFlowControlImpl( session: SessionCore, flowStrategy: FlowStrategy diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/SessionFrameListener.scala b/http/src/main/scala/org/http4s/blaze/http/http2/SessionFrameListener.scala index e9d305272..43e4e92dd 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/SessionFrameListener.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/SessionFrameListener.scala @@ -28,6 +28,7 @@ import org.http4s.blaze.http.http2.Http2Settings.Setting * Concurrency is not controlled by this type; it is expected that thread safety will be managed by * the [[ConnectionImpl]]. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private class SessionFrameListener( session: SessionCore, isClient: Boolean, diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/SettingsDecoder.scala b/http/src/main/scala/org/http4s/blaze/http/http2/SettingsDecoder.scala index c7c775ba0..3949464c7 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/SettingsDecoder.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/SettingsDecoder.scala @@ -25,6 +25,7 @@ import org.http4s.blaze.http.http2.bits.{Flags, FrameTypes} * @see * https://tools.ietf.org/html/rfc7540#section-6.5 */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[blaze] object SettingsDecoder { /** Representation of a settings frame diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/StageTools.scala b/http/src/main/scala/org/http4s/blaze/http/http2/StageTools.scala index a58b79b0b..7f7984bc0 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/StageTools.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/StageTools.scala @@ -19,6 +19,7 @@ package org.http4s.blaze.http.http2 import java.util.Locale import scala.collection.mutable.{ArrayBuffer, Builder} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] object StageTools { // There are two copies of this because `Growable` moved in Scala // 2.13 and we're stuck with the deprecation warning. It's private diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/StreamFlowWindow.scala b/http/src/main/scala/org/http4s/blaze/http/http2/StreamFlowWindow.scala index 48a8dba20..3b3324ff6 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/StreamFlowWindow.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/StreamFlowWindow.scala @@ -21,6 +21,7 @@ package org.http4s.blaze.http.http2 * The `StreamFlowWindow` provides the tools for tracking the flow window for both the individual * stream and the session that it belongs to. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") abstract class StreamFlowWindow { /** The flow control manager of the session this stream belongs to */ diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/StreamFrame.scala b/http/src/main/scala/org/http4s/blaze/http/http2/StreamFrame.scala index 5c11ffa90..3602b76a4 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/StreamFrame.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/StreamFrame.scala @@ -21,6 +21,7 @@ package http2 import java.nio.ByteBuffer /** Types that will be sent down to the Nodes of the Http2 session */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") sealed trait StreamFrame { def endStream: Boolean def flowBytes: Int @@ -34,6 +35,7 @@ sealed trait StreamFrame { * actual stream data. The `ByteBuffer` indexes may be modified by the receiver. The `ByteBuffer` * indexes are considered owned by this DataFrame, but its data must not be modified. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") case class DataFrame(endStream: Boolean, data: ByteBuffer) extends StreamFrame { def flowBytes: Int = data.remaining() } @@ -47,6 +49,7 @@ case class DataFrame(endStream: Boolean, data: ByteBuffer) extends StreamFrame { * @param headers * attached headers */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") case class HeadersFrame(priority: Priority, endStream: Boolean, headers: Headers) extends StreamFrame { override def flowBytes: Int = 0 diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/StreamIdManager.scala b/http/src/main/scala/org/http4s/blaze/http/http2/StreamIdManager.scala index 1585389a2..fc3c1101d 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/StreamIdManager.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/StreamIdManager.scala @@ -16,6 +16,7 @@ package org.http4s.blaze.http.http2 +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] object StreamIdManager { /** Create a new [[StreamIdManager]] */ @@ -32,6 +33,7 @@ private[http2] object StreamIdManager { } /** Tool for tracking stream ids */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private final class StreamIdManager private ( isClient: Boolean, private var nextInbound: Int, diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/StreamManager.scala b/http/src/main/scala/org/http4s/blaze/http/http2/StreamManager.scala index e194ea4f8..248c41548 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/StreamManager.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/StreamManager.scala @@ -24,6 +24,7 @@ import scala.concurrent.Future * The `StreamManager` can be thought of as the collection of active streams and some associated * helper methods for performing operations relevant to the HTTP/2 protocol. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private trait StreamManager { /** Number of active streams */ diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/StreamManagerImpl.scala b/http/src/main/scala/org/http4s/blaze/http/http2/StreamManagerImpl.scala index a92282794..133f86db1 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/StreamManagerImpl.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/StreamManagerImpl.scala @@ -22,6 +22,7 @@ import org.http4s.blaze.pipeline.{Command, LeafBuilder} import scala.collection.mutable.HashMap import scala.concurrent.{Future, Promise} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private final class StreamManagerImpl( session: SessionCore, inboundStreamBuilder: Option[Int => LeafBuilder[StreamFrame]] diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/StreamState.scala b/http/src/main/scala/org/http4s/blaze/http/http2/StreamState.scala index ee470cc08..05f9499a0 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/StreamState.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/StreamState.scala @@ -22,6 +22,7 @@ import java.nio.ByteBuffer import org.http4s.blaze.pipeline.HeadStage +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private trait StreamState extends HeadStage[StreamFrame] with WriteInterest { /** Whether the `StreamState` is part of the H2 session diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/StreamStateImpl.scala b/http/src/main/scala/org/http4s/blaze/http/http2/StreamStateImpl.scala index 927881cd7..e77787aba 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/StreamStateImpl.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/StreamStateImpl.scala @@ -36,6 +36,7 @@ import scala.concurrent.{Future, Promise} * attempt to enforce the semantics of the HTTP dispatch, specifically it doesn't enforce that * HEADERS come before DATA, etc, and that duty belongs to the streams dispatcher. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private abstract class StreamStateImpl(session: SessionCore) extends StreamState { // State associated with the streams inbound data flow private[this] val pendingInboundMessages = new util.ArrayDeque[StreamFrame](1) @@ -346,6 +347,7 @@ private abstract class StreamStateImpl(session: SessionCore) extends StreamState } } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private object StreamStateImpl { // Cache this since it will be a common value private val SomeEOF: Some[Throwable] = Some(EOF) diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/WriteController.scala b/http/src/main/scala/org/http4s/blaze/http/http2/WriteController.scala index b08250190..2c38683bc 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/WriteController.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/WriteController.scala @@ -25,6 +25,7 @@ import scala.concurrent.Future // the boundaries of where one message starts and another begins. // This would allow us to prioritize messages (like PING responses). /** Generic interface used by HTTP2 types to write data */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private trait WriteController { /** Register a [[WriteInterest]] with this listener to be invoked later once it is possible to diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/WriteControllerImpl.scala b/http/src/main/scala/org/http4s/blaze/http/http2/WriteControllerImpl.scala index 2c8a96606..56d99cea7 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/WriteControllerImpl.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/WriteControllerImpl.scala @@ -37,6 +37,7 @@ import scala.util.control.NonFatal * @param highWaterMark * number of bytes that will trigger a flush. */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private final class WriteControllerImpl( session: SessionCore, highWaterMark: Int, @@ -170,6 +171,7 @@ private final class WriteControllerImpl( } } +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private object WriteControllerImpl { private sealed trait State private case object Idle extends State diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/WriteInterest.scala b/http/src/main/scala/org/http4s/blaze/http/http2/WriteInterest.scala index 078737aca..628bde8ad 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/WriteInterest.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/WriteInterest.scala @@ -19,6 +19,7 @@ package org.http4s.blaze.http.http2 import java.nio.ByteBuffer /** Type that can be polled for the ability to write bytes */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private trait WriteInterest { /** Invoked by the [[WriteController]] that this `WriteInterest` is registered with. diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/bits.scala b/http/src/main/scala/org/http4s/blaze/http/http2/bits.scala index 96a148620..610cfe7ca 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/bits.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/bits.scala @@ -19,6 +19,7 @@ package org.http4s.blaze.http.http2 import java.nio.ByteBuffer import java.nio.charset.StandardCharsets +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] object bits { val LengthFieldSize: Int = 3 val HeaderSize: Int = 9 diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/server/ALPNServerSelector.scala b/http/src/main/scala/org/http4s/blaze/http/http2/server/ALPNServerSelector.scala index 7a9ba6254..b225aafeb 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/server/ALPNServerSelector.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/server/ALPNServerSelector.scala @@ -36,6 +36,7 @@ import scala.util.control.NonFatal * @param builder * builds the appropriate pipeline based on the negotiated protocol */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") final class ALPNServerSelector( engine: SSLEngine, selector: Set[String] => String, diff --git a/http/src/main/scala/org/http4s/blaze/http/http2/server/ServerPriorKnowledgeHandshaker.scala b/http/src/main/scala/org/http4s/blaze/http/http2/server/ServerPriorKnowledgeHandshaker.scala index 07a2dfbca..150931df0 100644 --- a/http/src/main/scala/org/http4s/blaze/http/http2/server/ServerPriorKnowledgeHandshaker.scala +++ b/http/src/main/scala/org/http4s/blaze/http/http2/server/ServerPriorKnowledgeHandshaker.scala @@ -25,6 +25,7 @@ import org.http4s.blaze.util.{BufferTools, Execution, StageTools} import scala.concurrent.Future import scala.util.Failure +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") final class ServerPriorKnowledgeHandshaker( localSettings: ImmutableHttp2Settings, flowStrategy: FlowStrategy, diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/ByteBufferInputStreamSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/ByteBufferInputStreamSuite.scala index 8e3610561..41325229f 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/ByteBufferInputStreamSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/ByteBufferInputStreamSuite.scala @@ -20,6 +20,7 @@ import java.nio.ByteBuffer import org.http4s.blaze.testkit.BlazeTestSuite +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class ByteBufferInputStreamSuite extends BlazeTestSuite { private def fromByteBuffer(buffer: ByteBuffer): ByteBufferInputStream = new ByteBufferInputStream(buffer) diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/CodecUtils.scala b/http/src/test/scala/org/http4s/blaze/http/http2/CodecUtils.scala index c00767dbc..a5ceaff04 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/CodecUtils.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/CodecUtils.scala @@ -21,7 +21,9 @@ import java.nio.charset.StandardCharsets import org.http4s.blaze.util.BufferTools._ -private[http2] object CodecUtils { +@deprecated( + "HTTP/2 support is unmaintained and will be removed in a future version.", + "0.23.18") private[http2] object CodecUtils { def byteData: Array[Byte] = "The quick brown fox jumps over the lazy dog".getBytes(StandardCharsets.UTF_8) diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/ConnectionImplSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/ConnectionImplSuite.scala index 7841d4325..353f3c75c 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/ConnectionImplSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/ConnectionImplSuite.scala @@ -31,6 +31,7 @@ import scala.concurrent.duration.Duration import scala.concurrent.Future import scala.util.{Failure, Success} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class ConnectionImplSuite extends BlazeTestSuite { private class Ctx { lazy val head = new MockByteBufferHeadStage diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/DelayedExecutionContext.scala b/http/src/test/scala/org/http4s/blaze/http/http2/DelayedExecutionContext.scala index cbdd4e404..624492750 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/DelayedExecutionContext.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/DelayedExecutionContext.scala @@ -19,6 +19,7 @@ package org.http4s.blaze.http.http2 import scala.collection.mutable import scala.concurrent.ExecutionContext +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class DelayedExecutionContext extends ExecutionContext { private[this] val pending = new mutable.Queue[Runnable]() diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/FrameDecoderSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/FrameDecoderSuite.scala index 0e99beff8..213fccf08 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/FrameDecoderSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/FrameDecoderSuite.scala @@ -24,6 +24,7 @@ import org.http4s.blaze.http.http2.mocks.MockFrameListener import org.http4s.blaze.http.http2.Priority.Dependent import org.http4s.blaze.testkit.BlazeTestSuite +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class FrameDecoderSuite extends BlazeTestSuite { def buffer(data: Byte*): ByteBuffer = ByteBuffer.wrap(data.toArray) diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/FrameEncoderSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/FrameEncoderSuite.scala index 4ded7d6e5..4fd97260d 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/FrameEncoderSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/FrameEncoderSuite.scala @@ -24,6 +24,7 @@ import org.http4s.blaze.http.http2.mocks.MockTools import org.http4s.blaze.testkit.BlazeTestSuite import org.http4s.blaze.util.BufferTools +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class FrameEncoderSuite extends BlazeTestSuite { import CodecUtils._ diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/FrameSerializerSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/FrameSerializerSuite.scala index 219b3f741..77005aff5 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/FrameSerializerSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/FrameSerializerSuite.scala @@ -29,6 +29,7 @@ import org.http4s.blaze.util.BufferTools._ import org.scalacheck.Prop._ import org.scalacheck.{Arbitrary, Gen} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class FrameSerializerSuite extends BlazeTestSuite with ScalaCheckSuite { import CodecUtils._ diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/HeaderAggregatingFrameListenerSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/HeaderAggregatingFrameListenerSuite.scala index 01383aada..be367d5df 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/HeaderAggregatingFrameListenerSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/HeaderAggregatingFrameListenerSuite.scala @@ -23,6 +23,7 @@ import org.http4s.blaze.http.http2.mocks.{MockFrameListener, MockHeaderAggregati import org.http4s.blaze.testkit.BlazeTestSuite import org.http4s.blaze.util.BufferTools +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class HeaderAggregatingFrameListenerSuite extends BlazeTestSuite { import BufferTools._ import CodecUtils._ diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/HeaderCodecHelpers.scala b/http/src/test/scala/org/http4s/blaze/http/http2/HeaderCodecHelpers.scala index 50a98fd45..0a5715051 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/HeaderCodecHelpers.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/HeaderCodecHelpers.scala @@ -18,6 +18,7 @@ package org.http4s.blaze.http.http2 import java.nio.ByteBuffer +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") object HeaderCodecHelpers { def encodeHeaders(hs: Seq[(String, String)], maxTableSize: Int): ByteBuffer = { val enc = new HeaderEncoder(maxTableSize) diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/HeaderDecoderSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/HeaderDecoderSuite.scala index c2af12201..8cd6b02f0 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/HeaderDecoderSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/HeaderDecoderSuite.scala @@ -19,6 +19,7 @@ package org.http4s.blaze.http.http2 import org.http4s.blaze.testkit.BlazeTestSuite import org.http4s.blaze.util.BufferTools +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class HeaderDecoderSuite extends BlazeTestSuite { private val testHeaders = Seq("foo" -> "bar") diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/HeaderEncoderSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/HeaderEncoderSuite.scala index f1e64312d..a4b9b1f8d 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/HeaderEncoderSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/HeaderEncoderSuite.scala @@ -18,6 +18,7 @@ package org.http4s.blaze.http.http2 import org.http4s.blaze.testkit.BlazeTestSuite +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class HeaderEncoderSuite extends BlazeTestSuite { private val headers = Seq("foo" -> "bar") diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/Http2ExceptionSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/Http2ExceptionSuite.scala index 3baac6f9e..1344612af 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/Http2ExceptionSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/Http2ExceptionSuite.scala @@ -18,6 +18,7 @@ package org.http4s.blaze.http.http2 import org.http4s.blaze.testkit.BlazeTestSuite +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class Http2ExceptionSuite extends BlazeTestSuite { import Http2Exception._ diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/MockSessionFlowControl.scala b/http/src/test/scala/org/http4s/blaze/http/http2/MockSessionFlowControl.scala index 6f42ece1b..94f749f3c 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/MockSessionFlowControl.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/MockSessionFlowControl.scala @@ -16,6 +16,7 @@ package org.http4s.blaze.http.http2 +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private class MockSessionFlowControl extends SessionFlowControl { override def newStreamFlowWindow(streamId: Int): StreamFlowWindow = ??? override def sessionInboundObserved(count: Int): Boolean = ??? diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/OutboundStreamStateImplSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/OutboundStreamStateImplSuite.scala index 361c18453..e4d3528c9 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/OutboundStreamStateImplSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/OutboundStreamStateImplSuite.scala @@ -22,6 +22,7 @@ import org.http4s.blaze.testkit.BlazeTestSuite import scala.concurrent.duration.Duration import scala.util.Failure +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class OutboundStreamStateImplSuite extends BlazeTestSuite { private class Ctx(connectionState: Connection.State) { diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/PingManagerSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/PingManagerSuite.scala index 7b32fb154..a96d58b20 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/PingManagerSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/PingManagerSuite.scala @@ -24,6 +24,7 @@ import org.http4s.blaze.util.BufferTools import scala.util.{Failure, Success} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class PingManagerSuite extends BlazeTestSuite { test("A PingManager should write a ping") { val tools = new MockTools(isClient = false) diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/ProtocolFrame.scala b/http/src/test/scala/org/http4s/blaze/http/http2/ProtocolFrame.scala index e63f78c02..67ce134e8 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/ProtocolFrame.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/ProtocolFrame.scala @@ -19,8 +19,10 @@ package org.http4s.blaze.http.http2 import org.http4s.blaze.http.http2.Http2Settings.Setting // TODO: these may form the basis of what gets written to the WriteListener +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") sealed abstract class ProtocolFrame private extends Product with Serializable +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") object ProtocolFrame { case class GoAway(lastHandleStream: Int, cause: Http2Exception) extends ProtocolFrame diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/ProtocolFrameDecoder.scala b/http/src/test/scala/org/http4s/blaze/http/http2/ProtocolFrameDecoder.scala index e0d9ea1fd..6afff57a8 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/ProtocolFrameDecoder.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/ProtocolFrameDecoder.scala @@ -22,6 +22,7 @@ import java.nio.ByteBuffer import org.http4s.blaze.http.http2.Http2Settings.Setting import org.http4s.blaze.http.http2.mocks.MockFrameListener +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] object ProtocolFrameDecoder { private[this] class Listener(inHeaderSequence: Boolean) extends MockFrameListener(inHeaderSequence) { diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/ServerPriorKnowledgeHandshakerSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/ServerPriorKnowledgeHandshakerSuite.scala index 776a11b0d..846508358 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/ServerPriorKnowledgeHandshakerSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/ServerPriorKnowledgeHandshakerSuite.scala @@ -24,6 +24,7 @@ import org.http4s.blaze.util.BufferTools import scala.util.{Failure, Success} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class ServerPriorKnowledgeHandshakerSuite extends BlazeTestSuite { private def makeHandshaker( localSettings: ImmutableHttp2Settings diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/SessionFlowControlSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/SessionFlowControlSuite.scala index 389dcfb94..ecc9852c9 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/SessionFlowControlSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/SessionFlowControlSuite.scala @@ -20,6 +20,7 @@ import org.http4s.blaze.http.http2.Http2Settings.DefaultSettings import org.http4s.blaze.http.http2.mocks.MockTools import org.http4s.blaze.testkit.BlazeTestSuite +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class SessionFlowControlSuite extends BlazeTestSuite { private class TestSessionFlowControl(session: SessionCore) extends SessionFlowControlImpl(session, null) { diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/SessionFrameListenerSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/SessionFrameListenerSuite.scala index 10ce24893..580a91809 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/SessionFrameListenerSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/SessionFrameListenerSuite.scala @@ -28,6 +28,7 @@ import org.http4s.blaze.util.BufferTools import scala.util.Success +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class SessionFrameListenerSuite extends BlazeTestSuite { private class MockTools(isClient: Boolean) extends mocks.MockTools(isClient) { lazy val headerDecoder: HeaderDecoder = diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/StreamFlowWindowSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/StreamFlowWindowSuite.scala index 407a0f352..97860423f 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/StreamFlowWindowSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/StreamFlowWindowSuite.scala @@ -19,6 +19,7 @@ package org.http4s.blaze.http.http2 import org.http4s.blaze.http.http2.mocks.{MockTools, ObservingSessionFlowControl} import org.http4s.blaze.testkit.BlazeTestSuite +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class StreamFlowWindowSuite extends BlazeTestSuite { private class Tools extends MockTools(isClient = true) { override lazy val sessionFlowControl: SessionFlowControl = diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/StreamIdManagerSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/StreamIdManagerSuite.scala index 8cdefc5ed..35a913975 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/StreamIdManagerSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/StreamIdManagerSuite.scala @@ -18,6 +18,7 @@ package org.http4s.blaze.http.http2 import org.http4s.blaze.testkit.BlazeTestSuite +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class StreamIdManagerSuite extends BlazeTestSuite { private def newClientManager() = StreamIdManager(true) diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/StreamManagerImplSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/StreamManagerImplSuite.scala index 8b8f00fce..edcbac2f5 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/StreamManagerImplSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/StreamManagerImplSuite.scala @@ -22,6 +22,7 @@ import org.http4s.blaze.testkit.BlazeTestSuite import scala.util.Failure +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class StreamManagerImplSuite extends BlazeTestSuite { private class MockTools(isClient: Boolean) extends mocks.MockTools(isClient) { override lazy val streamManager: StreamManager = diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/StreamStateImplSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/StreamStateImplSuite.scala index 3dd7a95c0..de41d5850 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/StreamStateImplSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/StreamStateImplSuite.scala @@ -22,6 +22,7 @@ import org.http4s.blaze.util.BufferTools import scala.util.{Failure, Success} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class StreamStateImplSuite extends BlazeTestSuite { private class Ctx { val streamId = 1 diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/WriteControllerImplSuite.scala b/http/src/test/scala/org/http4s/blaze/http/http2/WriteControllerImplSuite.scala index cd58b1f1a..a18f8d0b7 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/WriteControllerImplSuite.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/WriteControllerImplSuite.scala @@ -25,6 +25,7 @@ import org.http4s.blaze.testkit.BlazeTestSuite import scala.collection.mutable import scala.concurrent.{Future, Promise} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") class WriteControllerImplSuite extends BlazeTestSuite { private def mockData(i: Int): ByteBuffer = ByteBuffer.wrap { diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockByteBufferHeadStage.scala b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockByteBufferHeadStage.scala index fb133c781..5ef8e4f56 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockByteBufferHeadStage.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockByteBufferHeadStage.scala @@ -19,6 +19,7 @@ package org.http4s.blaze.http.http2.mocks import java.nio.ByteBuffer import org.http4s.blaze.util.BufferTools +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] class MockByteBufferHeadStage extends MockHeadStage[ByteBuffer] { override def name: String = "Head" diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockFrameListener.scala b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockFrameListener.scala index 0dc247a46..60a03f2c2 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockFrameListener.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockFrameListener.scala @@ -21,6 +21,7 @@ import java.nio.ByteBuffer import org.http4s.blaze.http.http2.Http2Settings.Setting import org.http4s.blaze.http.http2.{FrameListener, Priority, Result} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] class MockFrameListener(inHeaders: Boolean) extends FrameListener { override def inHeaderSequence: Boolean = inHeaders override def onGoAwayFrame(lastStream: Int, errorCode: Long, debugData: Array[Byte]): Result = ??? diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockHeadStage.scala b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockHeadStage.scala index 2c377231d..6b4639bcd 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockHeadStage.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockHeadStage.scala @@ -20,6 +20,7 @@ import org.http4s.blaze.pipeline.HeadStage import scala.collection.mutable import scala.concurrent.{Future, Promise} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] class MockHeadStage[T] extends HeadStage[T] { override def name: String = "Head" diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockHeaderAggregatingFrameListener.scala b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockHeaderAggregatingFrameListener.scala index 340725208..65944bec5 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockHeaderAggregatingFrameListener.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockHeaderAggregatingFrameListener.scala @@ -22,6 +22,7 @@ import org.http4s.blaze.http._ import org.http4s.blaze.http.http2.Http2Settings.Setting import org.http4s.blaze.http.http2._ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] class MockHeaderAggregatingFrameListener extends HeaderAggregatingFrameListener( Http2Settings.default, diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockStreamFlowWindow.scala b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockStreamFlowWindow.scala index aec274b63..64432eec8 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockStreamFlowWindow.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockStreamFlowWindow.scala @@ -18,6 +18,7 @@ package org.http4s.blaze.http.http2.mocks import org.http4s.blaze.http.http2.{Http2Exception, SessionFlowControl, StreamFlowWindow} +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] class MockStreamFlowWindow extends StreamFlowWindow { override def sessionFlowControl: SessionFlowControl = ??? override def streamUnconsumedBytes: Int = ??? diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockStreamManager.scala b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockStreamManager.scala index e0b388a5e..e9794e717 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockStreamManager.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockStreamManager.scala @@ -22,6 +22,7 @@ import org.http4s.blaze.http.http2.{MaybeError, Result, _} import scala.collection.mutable import scala.concurrent.Future +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] class MockStreamManager() extends StreamManager { override def size: Int = 0 diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockTools.scala b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockTools.scala index 5c62c68a5..8168f8627 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockTools.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockTools.scala @@ -22,6 +22,7 @@ import org.http4s.blaze.util.Execution import scala.concurrent.ExecutionContext import scala.concurrent.duration.Duration +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] class MockTools(isClient: Boolean) extends SessionCore { def flowStrategy: FlowStrategy = new DefaultFlowStrategy(localSettings) diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockWriteController.scala b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockWriteController.scala index 3166cef0a..affaee924 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockWriteController.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/MockWriteController.scala @@ -25,6 +25,7 @@ import scala.collection.mutable import scala.collection.mutable.ListBuffer import scala.concurrent.Future +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] class MockWriteController extends WriteController { var closeCalled = false val observedInterests = new ListBuffer[WriteInterest] diff --git a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/ObservingSessionFlowControl.scala b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/ObservingSessionFlowControl.scala index 363ee4fa7..026f2033f 100644 --- a/http/src/test/scala/org/http4s/blaze/http/http2/mocks/ObservingSessionFlowControl.scala +++ b/http/src/test/scala/org/http4s/blaze/http/http2/mocks/ObservingSessionFlowControl.scala @@ -19,6 +19,7 @@ package org.http4s.blaze.http.http2.mocks import org.http4s.blaze.http.http2.{SessionCore, SessionFlowControlImpl, StreamFlowWindow} /** Extends the [[SessionFlowControlImpl]] class but makes a couple critical methods no-ops */ +@deprecated("HTTP/2 support is unmaintained and will be removed in a future version.", "0.23.18") private[http2] class ObservingSessionFlowControl( session: SessionCore ) extends SessionFlowControlImpl( diff --git a/nix/nixpkgs-version.json b/nix/nixpkgs-version.json deleted file mode 100644 index 200fa61a3..000000000 --- a/nix/nixpkgs-version.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "owner": "nixos", - "repo": "nixpkgs", - "rev": "61290574123116a36225811f3ea6a7cfdf0fd17b", - "sha256": "1vwcjnx3nf9cw7xvi92lrd46k7sycvq9m1dfgq2myw02z5zklv06", - "fetchSubmodules": true -} \ No newline at end of file diff --git a/shell.nix b/shell.nix deleted file mode 100644 index 0e64fe15c..000000000 --- a/shell.nix +++ /dev/null @@ -1,11 +0,0 @@ -let - java = "openjdk8_headless"; - pkgs = import ./nix/pkgs.nix { inherit java; }; -in -pkgs.mkShell { - buildInputs = [ - pkgs.git - pkgs.${java} - pkgs.sbt - ]; -}