Не подтверждена Коммит c25705d2 создал по автору Anton Erofeev's avatar Anton Erofeev Зафиксировано автором GitHub
Просмотр файлов

KTOR-8011: fix HTTP method is logged with the class name (#4624)

* KTOR-8011: fix HTTP method is logged with the class name

* KTOR-8011: fix tests
владелец a259433e
......@@ -29,7 +29,7 @@ class LoggingMockedTests {
fun testLogResponseWithException() = testWithEngine(MockEngine, retries = 5) {
val testLogger = TestLogger(
"REQUEST: ${URLBuilder.origin}",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -40,7 +40,7 @@ class LoggingMockedTests {
"",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"FROM: ${URLBuilder.origin}",
"COMMON HEADERS",
"+++RESPONSE ${URLBuilder.origin} failed with exception: CustomError[PARSE ERROR]",
......@@ -94,7 +94,7 @@ class LoggingMockedTests {
fun testLogResponseWithExceptionSingle() = testWithEngine(MockEngine) {
val testLogger = TestLogger(
"REQUEST: ${URLBuilder.origin}",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -105,7 +105,7 @@ class LoggingMockedTests {
"",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"FROM: ${URLBuilder.origin}",
"COMMON HEADERS",
"RESPONSE ${URLBuilder.origin} failed with exception: CustomError[PARSE ERROR]",
......@@ -150,7 +150,7 @@ class LoggingMockedTests {
fun testLoggingWithForm() = testWithEngine(MockEngine) {
val testLogger = TestLogger(
"REQUEST: http://localhost/",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -168,7 +168,7 @@ class LoggingMockedTests {
"",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"FROM: http://localhost/",
"COMMON HEADERS",
"BODY Content-Type: null",
......@@ -219,7 +219,7 @@ class LoggingMockedTests {
fun testFilterRequest() = testWithEngine(MockEngine) {
val testLogger = TestLogger(
"REQUEST: http://somewhere/filtered_path",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -230,7 +230,7 @@ class LoggingMockedTests {
"",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"FROM: http://somewhere/filtered_path",
"COMMON HEADERS",
"BODY Content-Type: null",
......@@ -264,7 +264,7 @@ class LoggingMockedTests {
fun testSanitizeHeaders() = testWithEngine(MockEngine) {
val testLogger = TestLogger {
line("REQUEST: http://localhost/")
line("METHOD: HttpMethod(value=GET)")
line("METHOD: GET")
line("COMMON HEADERS")
line("-> Accept: */*")
line("-> Accept-Charset: UTF-8")
......@@ -273,7 +273,7 @@ class LoggingMockedTests {
line("CONTENT HEADERS")
line("-> Content-Length: 0")
line("RESPONSE: 200 OK")
line("METHOD: HttpMethod(value=GET)")
line("METHOD: GET")
line("FROM: http://localhost/")
line("COMMON HEADERS")
line("-> Sanitized: ***")
......
......@@ -56,13 +56,13 @@ class LoggingTest : ClientLoader() {
fun testLoggingLevelBody() = clientTests(except("native:CIO")) {
val logger = TestLogger(
"REQUEST: http://localhost:8080/logging",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"BODY Content-Type: null",
"BODY START",
"",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"FROM: http://localhost:8080/logging",
"BODY Content-Type: text/plain; charset=UTF-8",
"BODY START",
......@@ -76,7 +76,7 @@ class LoggingTest : ClientLoader() {
fun testLogLevelAll() = clientTests(except("native:CIO")) {
val logger = TestLogger(
"REQUEST: http://localhost:8080/logging",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -87,7 +87,7 @@ class LoggingTest : ClientLoader() {
"",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"FROM: http://localhost:8080/logging",
"COMMON HEADERS",
"???-> Connection: keep-alive",
......@@ -106,14 +106,14 @@ class LoggingTest : ClientLoader() {
fun testLogLevelHeaders() = clientTests {
val logger = TestLogger {
line("REQUEST: http://localhost:8080/logging")
line("METHOD: HttpMethod(value=GET)")
line("METHOD: GET")
line("COMMON HEADERS")
line("-> Accept: */*")
line("-> Accept-Charset: UTF-8")
line("CONTENT HEADERS")
line("-> Content-Length: 0")
line("RESPONSE: 200 OK")
line("METHOD: HttpMethod(value=GET)")
line("METHOD: GET")
line("FROM: http://localhost:8080/logging")
line("COMMON HEADERS")
optional("-> Connection: close")
......@@ -128,9 +128,9 @@ class LoggingTest : ClientLoader() {
fun testLogLevelInfo() = clientTests {
val logger = TestLogger(
"REQUEST: http://localhost:8080/logging",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"FROM: http://localhost:8080/logging"
)
checkLog(logger, HttpMethod.Get, "", null, LogLevel.INFO)
......@@ -146,7 +146,7 @@ class LoggingTest : ClientLoader() {
fun testLogPostBody() = clientTests(except("native:CIO")) {
val testLogger = TestLogger(
"REQUEST: http://localhost:8080/logging",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -158,7 +158,7 @@ class LoggingTest : ClientLoader() {
content,
"BODY END",
"RESPONSE: 201 Created",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"FROM: http://localhost:8080/logging",
"COMMON HEADERS",
"???-> Connection: close",
......@@ -202,7 +202,7 @@ class LoggingTest : ClientLoader() {
fun testLogPostMalformedUtf8Body() = clientTests(except("native:CIO")) {
val testLogger = TestLogger(
"REQUEST: http://localhost:8080/logging/non-utf",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -214,7 +214,7 @@ class LoggingTest : ClientLoader() {
"�o",
"BODY END",
"RESPONSE: 201 Created",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"FROM: http://localhost:8080/logging/non-utf",
"COMMON HEADERS",
"???-> Connection: close",
......@@ -258,7 +258,7 @@ class LoggingTest : ClientLoader() {
fun testRequestAndResponseBody() = clientTests(except("native:CIO")) {
val testLogger = TestLogger(
"REQUEST: http://127.0.0.1:8080/content/echo",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -270,7 +270,7 @@ class LoggingTest : ClientLoader() {
"test",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"FROM: http://127.0.0.1:8080/content/echo",
"COMMON HEADERS",
"???-> Connection: close",
......@@ -308,7 +308,7 @@ class LoggingTest : ClientLoader() {
fun testRequestContentTypeInLog() = clientTests(except("Darwin", "native:CIO", "DarwinLegacy")) {
val testLogger = TestLogger(
"REQUEST: http://127.0.0.1:8080/content/echo",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -320,7 +320,7 @@ class LoggingTest : ClientLoader() {
"test",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"FROM: http://127.0.0.1:8080/content/echo",
"COMMON HEADERS",
"???-> Connection: keep-alive",
......@@ -360,7 +360,7 @@ class LoggingTest : ClientLoader() {
fun testLoggingWithCompression() = clientTests(except("Darwin", "DarwinLegacy", "native:CIO", "web:CIO")) {
val testLogger = TestLogger(
"REQUEST: http://127.0.0.1:8080/compression/deflate",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"COMMON HEADERS",
"-> Accept: */*",
"-> Accept-Charset: UTF-8",
......@@ -372,7 +372,7 @@ class LoggingTest : ClientLoader() {
"",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=GET)",
"METHOD: GET",
"FROM: http://127.0.0.1:8080/compression/deflate",
"COMMON HEADERS",
"???-> Connection: keep-alive",
......@@ -409,7 +409,7 @@ class LoggingTest : ClientLoader() {
fun testLoggingWithStreaming() = clientTests {
val testLogger = TestLogger(
"REQUEST: http://127.0.0.1:8080/content/echo",
"METHOD: HttpMethod(value=POST)"
"METHOD: POST"
)
config {
Logging {
......@@ -507,7 +507,7 @@ class LoggingTest : ClientLoader() {
fun testLogPostBodyWithJson() = clientTests(retries = 5) {
val testLogger = TestLogger(
"REQUEST: http://127.0.0.1:8080/content/echo",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"COMMON HEADERS",
"-> Accept: application/json",
"-> Accept-Charset: UTF-8",
......@@ -519,7 +519,7 @@ class LoggingTest : ClientLoader() {
"{\"name\":\"Ktor\"}",
"BODY END",
"RESPONSE: 200 OK",
"METHOD: HttpMethod(value=POST)",
"METHOD: POST",
"FROM: http://127.0.0.1:8080/content/echo",
"COMMON HEADERS",
"???-> connection: keep-alive",
......
......@@ -9,6 +9,8 @@ package io.ktor.http
* @property value contains method name
*/
public data class HttpMethod(val value: String) {
override fun toString(): String = value
@Suppress("KDocMissingDocumentation", "PublicApiImplicitType")
public companion object {
public val Get: HttpMethod = HttpMethod("GET")
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать