diff --git a/app/current/src/main/scala/io/scalajs/nodejs/http/ClientRequest.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/ClientRequest.scala index 0a24222ee..ef785409c 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/http/ClientRequest.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/http/ClientRequest.scala @@ -1,6 +1,8 @@ package io.scalajs.nodejs package http +import com.thoughtworks.enableIf + import scala.scalajs.js import scala.scalajs.js.annotation.JSImport import scala.scalajs.js.| @@ -27,12 +29,13 @@ import scala.scalajs.js.| @js.native @JSImport("http", "ClientRequest") class ClientRequest extends stream.Writable { + // TODO: Remove Int when dropping Node.js v10 def aborted: Int | Boolean = js.native @deprecated("Use request.socket", "Node.js v13.0.0") def connection: net.Socket = js.native - @deprecated("Use request.writableEnded", "Node.js v13.0.0") + @deprecated("Use request.writableEnded", "Node.js v13.4.0, v12.16.0") def finished: Boolean = js.native var maxHeadersCount: Int | Null = js.native @@ -50,6 +53,7 @@ class ClientRequest extends stream.Writable { * to be dropped and the socket to be destroyed. * @see [[https://nodejs.org/api/http.html#http_request_abort]] */ + @deprecated("Use destroy()", "Node.js v14.1.0") def abort(): Unit = js.native /** @@ -97,6 +101,9 @@ class ClientRequest extends stream.Writable { * */ def setTimeout(timeout: Int, callback: js.Function = js.native): Unit = js.native + + @enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs12) + def reusedSocket: Boolean = js.native } trait Information extends js.Object { diff --git a/app/current/src/main/scala/io/scalajs/nodejs/http/Http.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/Http.scala index 2015098c0..dddd43630 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/http/Http.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/http/Http.scala @@ -66,6 +66,12 @@ trait Http extends js.Object { def request(url: String | URL): Unit = js.native def request(options: RequestOptions): Unit = js.native def request(options: RequestOptions, callback: js.Function1[ServerResponse, Any]): Unit = js.native + + @enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs14) + def validateHeaderName(name: String): Unit = js.native + + @enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs14) + def validateHeaderValue(name: String, value: js.Any): Unit = js.native } /** diff --git a/app/current/src/main/scala/io/scalajs/nodejs/http/RequestOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/RequestOptions.scala index ef3e8cb42..88460c3ee 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/http/RequestOptions.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/http/RequestOptions.scala @@ -1,5 +1,6 @@ package io.scalajs.nodejs.http +import com.thoughtworks.enableIf import io.scalajs.nodejs.buffer.Buffer import io.scalajs.nodejs.tls import net.exoego.scalajs.types.util.Factory @@ -41,4 +42,8 @@ trait RequestOptions extends js.Object { var secureOptions: js.UndefOr[Int] = js.undefined var secureProtocol: js.UndefOr[String] = js.undefined var sessionIdContext: js.UndefOr[String] = js.undefined + var insecureHTTPParser: js.UndefOr[Int] = js.undefined + + @enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs14) + var maxHeaderSize: js.UndefOr[Int] = js.undefined } diff --git a/app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala index 1ea6567aa..ec7e936e8 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/http/Server.scala @@ -13,8 +13,10 @@ import scala.scalajs.js.| class Server extends net.Server { var headersTimeout: Int = js.native var maxHeadersCount: Int | Null = js.native - var timeout: Int = js.native + var timeout: Double = js.native var keepAliveTimeout: Int = js.native - def setTimeout(callback: js.Function): this.type = js.native + def setTimeout(msecs: Double, callback: js.Function): this.type = js.native + def setTimeout(msecs: Double): this.type = js.native + def setTimeout(callback: js.Function): this.type = js.native } diff --git a/app/current/src/main/scala/io/scalajs/nodejs/http/ServerOptions.scala b/app/current/src/main/scala/io/scalajs/nodejs/http/ServerOptions.scala index 03a46f68e..f21b8e63f 100644 --- a/app/current/src/main/scala/io/scalajs/nodejs/http/ServerOptions.scala +++ b/app/current/src/main/scala/io/scalajs/nodejs/http/ServerOptions.scala @@ -1,5 +1,6 @@ package io.scalajs.nodejs.http +import com.thoughtworks.enableIf import net.exoego.scalajs.types.util.Factory import scala.scalajs.js @@ -8,4 +9,8 @@ import scala.scalajs.js trait ServerOptions extends js.Object { var IncomingMessage: js.UndefOr[js.Function] = js.undefined var ServerResponse: js.UndefOr[js.Function] = js.undefined + var insecureHTTPParser: js.UndefOr[Boolean] = js.undefined + + @enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs14) + var maxHeaderSize: js.UndefOr[Int] = js.undefined }