1
1
/*
2
- * Copyright (C) 2018 Square, Inc.
2
+ * Copyright (C) 2022 Square, Inc.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -18,7 +18,7 @@ package okhttp3.survey
18
18
import java.security.Security
19
19
import okhttp3.Cache
20
20
import okhttp3.OkHttpClient
21
- import okhttp3.survey.ssllabs.SslLabsScraper
21
+ import okhttp3.survey.ssllabs.SslLabsClient
22
22
import okhttp3.survey.types.Client
23
23
import okhttp3.survey.types.SuiteId
24
24
import okio.FileSystem
@@ -34,76 +34,69 @@ suspend fun main() {
34
34
.cache(Cache (" build/okhttp_cache" .toPath(), 100_000_000 , FileSystem .SYSTEM ))
35
35
.build()
36
36
37
- val sslLabsScraper = SslLabsScraper (client)
37
+ val sslLabsClients = SslLabsClient (client).clients()
38
+ val ianaSuitesNew = fetchIanaSuites(client)
38
39
39
- try {
40
- val ianaSuitesNew = fetchIanaSuites(client)
40
+ val android5 = sslLabsClients.first { it.userAgent == " Android" && it.version == " 5.0.0" }
41
+ val android9 = sslLabsClients.first { it.userAgent == " Android" && it.version == " 9.0" }
42
+ val chrome33 = sslLabsClients.first { it.userAgent == " Chrome" && it.version == " 33" }
43
+ val chrome57 = sslLabsClients.first { it.userAgent == " Chrome" && it.version == " 57" }
44
+ val chrome80 = sslLabsClients.first { it.userAgent == " Chrome" && it.version == " 80" }
45
+ val firefox34 = sslLabsClients.first { it.userAgent == " Firefox" && it.version == " 34" }
46
+ val firefox53 = sslLabsClients.first { it.userAgent == " Firefox" && it.version == " 53" }
47
+ val firefox73 = sslLabsClients.first { it.userAgent == " Firefox" && it.version == " 73" }
48
+ val java7 = sslLabsClients.first { it.userAgent == " Java" && it.version == " 7u25" }
49
+ val java12 = sslLabsClients.first { it.userAgent == " Java" && it.version == " 12.0.1" }
50
+ val safari12iOS = sslLabsClients.first { it.userAgent == " Safari" && it.platform == " iOS 12.3.1" }
51
+ val safari12Osx =
52
+ sslLabsClients.first { it.userAgent == " Safari" && it.platform == " MacOS 10.14.6 Beta" }
41
53
42
- val sslLabsClients = sslLabsScraper.query( )
54
+ val okhttp = currentOkHttp(ianaSuitesNew )
43
55
44
- val android5 = sslLabsClients.first { it.userAgent == " Android" && it.version == " 5.0.0" }
45
- val android9 = sslLabsClients.first { it.userAgent == " Android" && it.version == " 9.0" }
46
- val chrome33 = sslLabsClients.first { it.userAgent == " Chrome" && it.version == " 33" }
47
- val chrome57 = sslLabsClients.first { it.userAgent == " Chrome" && it.version == " 57" }
48
- val chrome80 = sslLabsClients.first { it.userAgent == " Chrome" && it.version == " 80" }
49
- val firefox34 = sslLabsClients.first { it.userAgent == " Firefox" && it.version == " 34" }
50
- val firefox53 = sslLabsClients.first { it.userAgent == " Firefox" && it.version == " 53" }
51
- val firefox73 = sslLabsClients.first { it.userAgent == " Firefox" && it.version == " 73" }
52
- val java7 = sslLabsClients.first { it.userAgent == " Java" && it.version == " 7u25" }
53
- val java12 = sslLabsClients.first { it.userAgent == " Java" && it.version == " 12.0.1" }
54
- val safari12iOS = sslLabsClients.first { it.userAgent == " Safari" && it.platform == " iOS 12.3.1" }
55
- val safari12Osx = sslLabsClients.first { it.userAgent == " Safari" && it.platform == " MacOS 10.14.6 Beta" }
56
+ val okHttp_4_10 = historicOkHttp(" 4.10" )
57
+ val okHttp_3_14 = historicOkHttp(" 3.14" )
58
+ val okHttp_3_13 = historicOkHttp(" 3.13" )
59
+ val okHttp_3_11 = historicOkHttp(" 3.11" )
60
+ val okHttp_3_9 = historicOkHttp(" 3.9" )
56
61
57
- val okhttp = currentOkHttp (ianaSuitesNew)
62
+ val currentVm = currentVm (ianaSuitesNew)
58
63
59
- val okHttp_4_10 = historicOkHttp(" 4.10" )
60
- val okHttp_3_14 = historicOkHttp(" 3.14" )
61
- val okHttp_3_13 = historicOkHttp(" 3.13" )
62
- val okHttp_3_11 = historicOkHttp(" 3.11" )
63
- val okHttp_3_9 = historicOkHttp(" 3.9" )
64
+ val conscrypt =
65
+ if (includeConscrypt) {
66
+ Security .addProvider(Conscrypt .newProvider())
67
+ conscrypt(ianaSuitesNew)
68
+ } else {
69
+ Client (" Conscrypt" , " Disabled" , null , listOf ())
70
+ }
64
71
65
- val currentVm = currentVm(ianaSuitesNew)
72
+ val clients =
73
+ listOf (
74
+ okhttp,
75
+ chrome80,
76
+ firefox73,
77
+ android9,
78
+ safari12iOS,
79
+ conscrypt,
80
+ currentVm,
81
+ okHttp_3_9,
82
+ okHttp_3_11,
83
+ okHttp_3_13,
84
+ okHttp_3_14,
85
+ okHttp_4_10,
86
+ android5,
87
+ java7,
88
+ java12,
89
+ firefox34,
90
+ firefox53,
91
+ chrome33,
92
+ chrome57,
93
+ safari12Osx,
94
+ )
66
95
67
- val conscrypt =
68
- if (includeConscrypt) {
69
- Security .addProvider(Conscrypt .newProvider())
70
- conscrypt(ianaSuitesNew)
71
- } else {
72
- Client (" Conscrypt" , " Disabled" , null , listOf ())
73
- }
96
+ val orderBy = okhttp.enabled + chrome80.enabled + safari12Osx.enabled + rest(clients)
97
+ val survey = CipherSuiteSurvey (clients = clients, ianaSuites = ianaSuitesNew, orderBy = orderBy)
74
98
75
- val clients =
76
- listOf (
77
- okhttp,
78
- chrome80,
79
- firefox73,
80
- android9,
81
- safari12iOS,
82
- conscrypt,
83
- currentVm,
84
- okHttp_3_9,
85
- okHttp_3_11,
86
- okHttp_3_13,
87
- okHttp_3_14,
88
- okHttp_4_10,
89
- android5,
90
- java7,
91
- java12,
92
- firefox34,
93
- firefox53,
94
- chrome33,
95
- chrome57,
96
- safari12Osx,
97
- )
98
-
99
- val orderBy = okhttp.enabled + chrome80.enabled + safari12Osx.enabled + rest(clients)
100
- val survey = CipherSuiteSurvey (clients = clients, ianaSuites = ianaSuitesNew, orderBy = orderBy)
101
-
102
- survey.printGoogleSheet()
103
- } finally {
104
- client.dispatcher.executorService.shutdown()
105
- client.connectionPool.evictAll()
106
- }
99
+ survey.printGoogleSheet()
107
100
}
108
101
109
102
fun rest (clients : List <Client >): List <SuiteId > {
0 commit comments