logstash-input-http 3.11.1-java → 4.0.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (21) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -41
  3. data/README.md +1 -1
  4. data/VERSION +1 -1
  5. data/docs/index.asciidoc +20 -117
  6. data/lib/logstash/inputs/http.rb +10 -92
  7. data/lib/logstash-input-http_jars.rb +8 -9
  8. data/spec/inputs/helpers.rb +1 -5
  9. data/spec/inputs/http_spec.rb +30 -240
  10. data/vendor/jar-dependencies/io/netty/netty-buffer/{4.1.137.Final/netty-buffer-4.1.137.Final.jar → 4.1.115.Final/netty-buffer-4.1.115.Final.jar} +0 -0
  11. data/vendor/jar-dependencies/io/netty/netty-codec/{4.1.137.Final/netty-codec-4.1.137.Final.jar → 4.1.115.Final/netty-codec-4.1.115.Final.jar} +0 -0
  12. data/vendor/jar-dependencies/io/netty/netty-codec-http/{4.1.137.Final/netty-codec-http-4.1.137.Final.jar → 4.1.115.Final/netty-codec-http-4.1.115.Final.jar} +0 -0
  13. data/vendor/jar-dependencies/io/netty/netty-common/{4.1.137.Final/netty-common-4.1.137.Final.jar → 4.1.115.Final/netty-common-4.1.115.Final.jar} +0 -0
  14. data/vendor/jar-dependencies/io/netty/netty-handler/4.1.115.Final/netty-handler-4.1.115.Final.jar +0 -0
  15. data/vendor/jar-dependencies/io/netty/netty-transport/{4.1.137.Final/netty-transport-4.1.137.Final.jar → 4.1.115.Final/netty-transport-4.1.115.Final.jar} +0 -0
  16. data/vendor/jar-dependencies/io/netty/netty-transport-native-unix-common/{4.1.137.Final/netty-transport-native-unix-common-4.1.137.Final.jar → 4.1.115.Final/netty-transport-native-unix-common-4.1.115.Final.jar} +0 -0
  17. data/vendor/jar-dependencies/org/logstash/plugins/input/http/logstash-input-http/4.0.0/logstash-input-http-4.0.0.jar +0 -0
  18. metadata +22 -20
  19. data/vendor/jar-dependencies/io/netty/netty-handler/4.1.137.Final/netty-handler-4.1.137.Final.jar +0 -0
  20. data/vendor/jar-dependencies/io/netty/netty-resolver/4.1.137.Final/netty-resolver-4.1.137.Final.jar +0 -0
  21. data/vendor/jar-dependencies/org/logstash/plugins/input/http/logstash-input-http/3.11.1/logstash-input-http-3.11.1.jar +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 66b76884bcbe98063d56169f8d6bb3e16bc69127791933af2e529d3739a779a5
4
- data.tar.gz: e74b921250d0c498abef6640d5cb26bae15ff90d295c47a0d1087d99f8739640
3
+ metadata.gz: c406f5e0d989c833db3c35529b4012053539955f830fde6ca9e44235f4a39d3b
4
+ data.tar.gz: 22916a6402a2c55edfbee1bf3af0a578b630d2fd756356733bfc0c7de3359fdf
5
5
  SHA512:
6
- metadata.gz: 73d8cfc9f55e0b078d1e399031325a54f6bd0a48278642195b58df3f8b6e9e3eb8e4e0df464b5357b2ef01e86a63258ddf65c116ba48025920720f90a20aebfc
7
- data.tar.gz: ae81b8e900be8e836e609895e6b836601edc3d8ae36402e67d7abe58611a5cfdd8bf9c2e3600067d79a3e91527380638f8f830c7d57abdecac77b97a83c7cfd7
6
+ metadata.gz: 2c2616bcde330f2d0a2d0f4273f45e7bd2ad7e09e3a1322d0c759c146c38e13c92f202b45c4a1df6a19b0b9e1ae46eaaa0e3ec1fc81f5e8421a591479122ab3e
7
+ data.tar.gz: 1b4d208dc8e180ee5818270f1ceb36625870d4429b9570102f69beb96c253bc5a64fc3837c90d8960b2bca1391b9b93bff76fd648d67ed27cb8b9b366b238ca2
data/CHANGELOG.md CHANGED
@@ -1,44 +1,15 @@
1
- ## 3.11.1
2
- - Update Netty dependency to 4.1.137.Final [#240](https://github.com/logstash-plugins/logstash-input-http/pull/240)
3
-
4
- ## 3.11.0
5
- - Implements a functionality to log HTTP traffic, disabled by default. To unable switch on debug logs. [#237](https://github.com/logstash-plugins/logstash-input-http/pull/237)
6
-
7
- ## 3.10.11
8
- - Fix to use the `Content-type` declared charset to decode the request body [#232](https://github.com/logstash-plugins/logstash-input-http/pull/232)
9
-
10
- ## 3.10.10
11
- - Update Netty dependency to 4.1.136.Final [#229](https://github.com/logstash-plugins/logstash-input-http/pull/229)
12
-
13
- ## 3.10.9
14
- - Update Netty dependency to 4.1.135.Final [#220](https://github.com/logstash-plugins/logstash-input-http/pull/220)
15
-
16
- ## 3.10.8
17
- - Update Netty dependency to 4.1.134.Final [#218](https://github.com/logstash-plugins/logstash-input-http/pull/218)
18
-
19
- ## 3.10.7
20
- - Update Netty dependency to 4.1.132.Final [#213](https://github.com/logstash-plugins/logstash-input-http/pull/213)
21
-
22
- ## 3.10.6
23
- - Upgrade netty to 4.1.131 [#211](https://github.com/logstash-plugins/logstash-input-http/pull/211)
24
-
25
- ## 3.10.5
26
- - Re-packaging the plugin [#209](https://github.com/logstash-plugins/logstash-input-http/pull/209)
27
-
28
- ## 3.10.4
29
- - Upgrade netty to 4.1.129 [#204](https://github.com/logstash-plugins/logstash-input-http/pull/204)
30
-
31
- ## 3.10.3
32
- - Upgrade netty to 4.1.126 [#199](https://github.com/logstash-plugins/logstash-input-http/pull/199)
33
-
34
- ## 3.10.2
35
- - Upgrade netty to 4.1.118 [#194](https://github.com/logstash-plugins/logstash-input-http/pull/194)
36
-
37
- ## 3.10.1
38
- - Properly naming netty threads [#191](https://github.com/logstash-plugins/logstash-input-http/pull/191)
39
-
40
- ## 3.10.0
41
- - add improved proactive rate-limiting, rejecting new requests when queue has been actively blocking for more than 10 seconds [#179](https://github.com/logstash-plugins/logstash-input-http/pull/179)
1
+ ## 4.0.0
2
+ - SSL settings that were marked deprecated in version `3.7.0` are now marked obsolete, and will prevent the plugin from starting.
3
+ - These settings are:
4
+ - `tls_min_version`, which should be replaced by `ssl_supported_protocols`
5
+ - `tls_max_version`, which should be replaced by `ssl_supported_protocols`
6
+ - `cipher_suites`, which should bre replaced by `ssl_cipher_suites`
7
+ - `ssl`, which should bre replaced by `ssl_enabled`
8
+ - `keystore`, which should bre replaced by `ssl_keystore_path`
9
+ - `keystore_password`, which should bre replaced by `ssl_keystore_password`
10
+ - `ssl_verify_mode`, which should bre replaced by `ssl_client_authentication`
11
+ - `verify_mode`, which should bre replaced by `ssl_client_authentication`
12
+ - [#182](https://github.com/logstash-plugins/logstash-input-http/pull/182)
42
13
 
43
14
  ## 3.9.2
44
15
  - Upgrade netty to 4.1.115 [#183](https://github.com/logstash-plugins/logstash-input-http/pull/183)
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Logstash Plugin
2
2
 
3
- [![Unit Tests](https://github.com/logstash-plugins/logstash-input-http/actions/workflows/unit-tests.yml/badge.svg?branch=3.x)](https://github.com/logstash-plugins/logstash-input-http/actions/workflows/unit-tests.yml)
3
+ [![Travis Build Status](https://travis-ci.com/logstash-plugins/logstash-input-http.svg)](https://travis-ci.com/logstash-plugins/logstash-input-http)
4
4
 
5
5
  This is a plugin for [Logstash](https://github.com/elastic/logstash).
6
6
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.11.1
1
+ 4.0.0
data/docs/index.asciidoc CHANGED
@@ -27,14 +27,6 @@ Logstash will convert it into an event for subsequent processing. Users
27
27
  can pass plain text, JSON, or any formatted data and use a corresponding codec with this
28
28
  input. For Content-Type `application/json` the `json` codec is used, but for all other
29
29
  data formats, `plain` codec is used.
30
- If the `Content-type` header also defines a charset like in:
31
-
32
- [source,text]
33
- -----
34
- curl -X POST -H 'Content-Type: application/json; charset=ISO-8859-1'
35
- -----
36
-
37
- then that charset is used to decode the request body. Else UTF-8 is applied.
38
30
 
39
31
  This input can also be used to receive webhook requests to integrate with other services
40
32
  and applications. By taking advantage of the vast plugin ecosystem available in Logstash
@@ -90,53 +82,26 @@ Values in `additional_codecs` are prioritized over those specified in the
90
82
  `codec` option. That is, the default `codec` is applied only if no codec
91
83
  for the request's content-type is found in the `additional_codecs` setting.
92
84
 
93
- [id="plugins-{type}s-{plugin}-wire-logging"]
94
- ==== Enable wire logging
95
- This plugin could log all requests and responses passing through the socket after TLS decoding.
96
- This functionality helps troubleshoot issues in the processing pipeline that standard
97
- external traffic captures, such as `tcpdump`, cannot resolve.
98
- By default it's disabled, to dump received and sent payloads post-TLS decoding, enable debug logging
99
- for `org.logstash.plugins.inputs.http.util.WireLogger`.
100
- Note: Payloads exceeding 4 KB are automatically truncated to prevent excessive log file growth.
101
- If you want to set a different limit, then in {ls} `config/jvm.options` configure a value for the system property `logstash.httpinput.wire.dump.size`.
102
-
103
- [source,text]
104
- -----
105
- -Dlogstash.httpinput.wire.dump.size=512
106
- -----
107
- If you want to remove any limit, at the risk of polluting {ls} logs, set it to `0`.
108
- Admitted values are only integers greater or equals to 0.
109
-
110
- To enable it start {ls} in debug mode or configure the `config/log4j2.properties` to include:
111
-
112
- [source,text]
113
- -----
114
- logger.httpwire.name = org.logstash.plugins.inputs.http.util.WireLogger
115
- logger.httpwire.level = DEBUG
116
- -----
117
-
118
- WARNING: when this log is enabled the payload is dumped, so if contains secretes those are exposed in {ls} logs.
119
-
120
85
  [id="plugins-{type}s-{plugin}-options"]
121
86
  ==== Http Input Configuration Options
122
87
 
123
88
  This plugin supports the following configuration options plus the <<plugins-{type}s-{plugin}-common-options>> described later.
124
89
 
90
+ NOTE: As of version `4.0.0` of this plugin, a number of previously deprecated settings related to SSL have been removed.
91
+ Please check out <<plugins-{type}s-{plugin}-obsolete-options>> for details.
92
+
93
+
125
94
  [cols="<,<,<",options="header",]
126
95
  |=======================================================================
127
96
  |Setting |Input type|Required
128
97
  | <<plugins-{type}s-{plugin}-additional_codecs>> |<<hash,hash>>|No
129
- | <<plugins-{type}s-{plugin}-cipher_suites>> |<<array,array>>|__Deprecated__
130
98
  | <<plugins-{type}s-{plugin}-ecs_compatibility>> | <<string,string>>|No
131
99
  | <<plugins-{type}s-{plugin}-host>> |<<string,string>>|No
132
- | <<plugins-{type}s-{plugin}-keystore>> |<<path,path>>|__Deprecated__
133
- | <<plugins-{type}s-{plugin}-keystore_password>> |<<password,password>>|__Deprecated__
134
100
  | <<plugins-{type}s-{plugin}-password>> |<<password,password>>|No
135
101
  | <<plugins-{type}s-{plugin}-port>> |<<number,number>>|No
136
102
  | <<plugins-{type}s-{plugin}-max_pending_requests>> |<<number,number>>|No
137
103
  | <<plugins-{type}s-{plugin}-response_headers>> |<<hash,hash>>|No
138
104
  | <<plugins-{type}s-{plugin}-response_code>> |<<number,number>>, one of `[200, 201, 202, 204]`|No
139
- | <<plugins-{type}s-{plugin}-ssl>> |<<boolean,boolean>>|__Deprecated__
140
105
  | <<plugins-{type}s-{plugin}-ssl_certificate>> |a valid filesystem path|No
141
106
  | <<plugins-{type}s-{plugin}-ssl_certificate_authorities>> |<<array,array>>|No
142
107
  | <<plugins-{type}s-{plugin}-ssl_cipher_suites>> |<<array,array>>|No
@@ -152,12 +117,8 @@ This plugin supports the following configuration options plus the <<plugins-{typ
152
117
  | <<plugins-{type}s-{plugin}-ssl_truststore_password>> |<<password,password>>|No
153
118
  | <<plugins-{type}s-{plugin}-ssl_truststore_path>> |<<path,path>>|No
154
119
  | <<plugins-{type}s-{plugin}-ssl_truststore_type>> |<<string,string>>|No
155
- | <<plugins-{type}s-{plugin}-ssl_verify_mode>> |<<string,string>>, one of `["none", "peer", "force_peer"]`|__Deprecated__
156
120
  | <<plugins-{type}s-{plugin}-threads>> |<<number,number>>|No
157
- | <<plugins-{type}s-{plugin}-tls_max_version>> |<<number,number>>|__Deprecated__
158
- | <<plugins-{type}s-{plugin}-tls_min_version>> |<<number,number>>|__Deprecated__
159
121
  | <<plugins-{type}s-{plugin}-user>> |<<string,string>>|No
160
- | <<plugins-{type}s-{plugin}-verify_mode>> |<<string,string>>, one of `["none", "peer", "force_peer"]`|__Deprecated__
161
122
  |=======================================================================
162
123
 
163
124
  Also see <<plugins-{type}s-{plugin}-common-options>> for a list of options supported by all
@@ -175,13 +136,6 @@ Apply specific codecs for specific content types.
175
136
  The default codec will be applied only after this list is checked
176
137
  and no codec for the request's content-type is found
177
138
 
178
- [id="plugins-{type}s-{plugin}-cipher_suites"]
179
- ===== `cipher_suites`
180
- deprecated[3.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_cipher_suites>>]
181
-
182
- * Value type is <<array,array>>
183
-
184
- The list of cipher suites to use, listed by priorities.
185
139
 
186
140
  [id="plugins-{type}s-{plugin}-ecs_compatibility"]
187
141
  ===== `ecs_compatibility`
@@ -255,23 +209,6 @@ See <<plugins-{type}s-{plugin}-ecs_metadata>> for detailed information.
255
209
 
256
210
  The host or ip to bind
257
211
 
258
- [id="plugins-{type}s-{plugin}-keystore"]
259
- ===== `keystore`
260
- deprecated[3.7.0, Use <<plugins-{type}s-{plugin}-ssl_keystore_path>> instead]
261
-
262
- * Value type is <<path,path>>
263
- * There is no default value for this setting.
264
-
265
- The JKS keystore to validate the client's certificates
266
-
267
- [id="plugins-{type}s-{plugin}-keystore_password"]
268
- ===== `keystore_password`
269
- deprecated[3.7.0, Use <<plugins-{type}s-{plugin}-ssl_keystore_password>> instead]
270
-
271
- * Value type is <<password,password>>
272
- * There is no default value for this setting.
273
-
274
- Set the keystore password
275
212
 
276
213
  [id="plugins-{type}s-{plugin}-password"]
277
214
  ===== `password`
@@ -349,16 +286,6 @@ specify a target field for the client host of the http request
349
286
 
350
287
  specify target field for the client host of the http request
351
288
 
352
- [id="plugins-{type}s-{plugin}-ssl"]
353
- ===== `ssl`
354
- deprecated[3.7.0, Replaced by <<plugins-{type}s-{plugin}-ssl_enabled>>]
355
-
356
- * Value type is <<boolean,boolean>>
357
- * Default value is `false`
358
-
359
- Events are, by default, sent in plain text. You can
360
- enable encryption by setting `ssl` to true and configuring
361
- the `ssl_certificate` and `ssl_key` options.
362
289
 
363
290
  [id="plugins-{type}s-{plugin}-ssl_certificate"]
364
291
  ===== `ssl_certificate`
@@ -508,22 +435,6 @@ NOTE: You cannot use this setting and <<plugins-{type}s-{plugin}-ssl_certificate
508
435
 
509
436
  The format of the truststore file. It must be either `jks` or `pkcs12`.
510
437
 
511
- [id="plugins-{type}s-{plugin}-ssl_verify_mode"]
512
- ===== `ssl_verify_mode`
513
- deprecated[3.7.0, Replaced by <<plugins-{type}s-{plugin}-ssl_client_authentication>>]
514
-
515
- * Value can be any of: `none`, `peer`, `force_peer`
516
- * Default value is `"none"`
517
-
518
- By default the server doesn't do any client verification.
519
-
520
- `peer` will make the server ask the client to provide a certificate.
521
- If the client provides a certificate, it will be validated.
522
-
523
- `force_peer` will make the server ask the client to provide a certificate.
524
- If the client doesn't provide a certificate, the connection will be closed.
525
-
526
- This option needs to be used with <<plugins-{type}s-{plugin}-ssl_certificate_authorities>> and a defined list of CAs.
527
438
 
528
439
  [id="plugins-{type}s-{plugin}-threads"]
529
440
  ===== `threads`
@@ -533,23 +444,6 @@ This option needs to be used with <<plugins-{type}s-{plugin}-ssl_certificate_aut
533
444
 
534
445
  Number of threads to use for both accepting connections and handling requests
535
446
 
536
- [id="plugins-{type}s-{plugin}-tls_max_version"]
537
- ===== `tls_max_version`
538
- deprecated[3.6.0]
539
-
540
- * Value type is <<number,number>>
541
-
542
- The maximum TLS version allowed for the encrypted connections.
543
- The value must be the one of the following: 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLSv1.3
544
-
545
- [id="plugins-{type}s-{plugin}-tls_min_version"]
546
- ===== `tls_min_version`
547
- deprecated[3.6.0]
548
-
549
- * Value type is <<number,number>>
550
-
551
- The minimum TLS version allowed for the encrypted connections.
552
- The value must be one of the following: 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLSv1.3
553
447
 
554
448
  [id="plugins-{type}s-{plugin}-user"]
555
449
  ===== `user`
@@ -559,15 +453,24 @@ The value must be one of the following: 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 fo
559
453
 
560
454
  Username for basic authorization
561
455
 
562
- [id="plugins-{type}s-{plugin}-verify_mode"]
563
- ===== `verify_mode`
564
- deprecated[3.6.0, Replaced by <<plugins-{type}s-{plugin}-ssl_verify_mode>>]
456
+ [id="plugins-{type}s-{plugin}-obsolete-options"]
457
+ ==== HTTP Input Obsolete Configuration Options
565
458
 
566
- * Value can be any of: `none`, `peer`, `force_peer`
567
- * Default value is `"none"`
568
-
569
- Set the client certificate verification method. Valid methods: none, peer, force_peer
459
+ WARNING: As of version `4.0.0` of this plugin, some configuration options have been replaced.
460
+ The plugin will fail to start if it contains any of these obsolete options.
570
461
 
462
+ [cols="<,<",options="header",]
463
+ |=======================================================================
464
+ |Setting|Replaced by
465
+ | cipher_suites |<<plugins-{type}s-{plugin}-ssl_cipher_suites>>
466
+ | keystore |<<plugins-{type}s-{plugin}-ssl_keystore_path>>
467
+ | keystore_password |<<plugins-{type}s-{plugin}-ssl_keystore_password>>
468
+ | ssl |<<plugins-{type}s-{plugin}-ssl_enabled>>
469
+ | ssl_verify_mode |<<plugins-{type}s-{plugin}-ssl_client_authentication>>
470
+ | tls_max_version |<<plugins-{type}s-{plugin}-ssl_supported_protocols>>
471
+ | tls_min_version |<<plugins-{type}s-{plugin}-ssl_supported_protocols>>
472
+ | verify_mode |<<plugins-{type}s-{plugin}-ssl_client_authentication>>
473
+ |=======================================================================
571
474
 
572
475
  [id="plugins-{type}s-{plugin}-common-options"]
573
476
  include::{include_path}/{type}.asciidoc[]
@@ -55,11 +55,6 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
55
55
  # Password for basic authorization
56
56
  config :password, :validate => :password, :required => false
57
57
 
58
- # Events are by default sent in plain text. You can
59
- # enable encryption by setting `ssl` to true and configuring
60
- # the `ssl_certificate` and `ssl_key` options.
61
- config :ssl, :validate => :boolean, :default => false, :deprecated => "Set 'ssl_enabled' instead."
62
-
63
58
  # Events are by default sent in plain text. You can
64
59
  # enable encryption by setting `ssl` to true and configuring
65
60
  # the `ssl_certificate` and `ssl_key` options.
@@ -108,17 +103,6 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
108
103
  # This option needs to be used with `ssl_certificate_authorities` and a defined list of CAs.
109
104
  config :ssl_client_authentication, :validate => %w[none optional required], :default => 'none'
110
105
 
111
- # By default the server doesn't do any client verification.
112
- #
113
- # `peer` will make the server ask the client to provide a certificate.
114
- # If the client provides a certificate, it will be validated.
115
- #
116
- # `force_peer` will make the server ask the client to provide a certificate.
117
- # If the client doesn't provide a certificate, the connection will be closed.
118
- #
119
- # This option needs to be used with `ssl_certificate_authorities` and a defined list of CAs.
120
- config :ssl_verify_mode, :validate => ["none", "peer", "force_peer"], :default => "none", :deprecated => "Set 'ssl_client_authentication' instead."
121
-
122
106
  # Time in milliseconds for an incomplete ssl handshake to timeout
123
107
  config :ssl_handshake_timeout, :validate => :number, :default => 10000
124
108
 
@@ -150,25 +134,15 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
150
134
 
151
135
  config :response_code, :validate => [200, 201, 202, 204], :default => 200
152
136
 
153
- # Deprecated options
154
-
155
- # The JKS keystore to validate the client's certificates
156
- config :keystore, :validate => :path, :deprecated => "Set 'ssl_keystore_path' instead."
157
-
158
- # The JKS keystore password
159
- config :keystore_password, :validate => :password, :deprecated => "Set 'ssl_keystore_password' instead."
160
-
161
- config :verify_mode, :validate => ['none', 'peer', 'force_peer'], :default => 'none', :deprecated => "Set 'ssl_client_authentication' instead."
162
-
163
- config :cipher_suites, :validate => :array, :default => [], :deprecated => "Set 'ssl_cipher_suites' instead."
164
-
165
- # The minimum TLS version allowed for the encrypted connections. The value must be one of the following:
166
- # 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLS 1.3
167
- config :tls_min_version, :validate => :number, :default => TLS.min.version, :deprecated => "Set 'ssl_supported_protocols' instead."
168
-
169
- # The maximum TLS version allowed for the encrypted connections. The value must be the one of the following:
170
- # 1.0 for TLS 1.0, 1.1 for TLS 1.1, 1.2 for TLS 1.2, 1.3 for TLS 1.3
171
- config :tls_max_version, :validate => :number, :default => TLS.max.version, :deprecated => "Set 'ssl_supported_protocols' instead."
137
+ # Obsolete Settings
138
+ config :ssl, :obsolete => "Set 'ssl_enabled' instead."
139
+ config :keystore, :obsolete => "Set 'ssl_keystore_path' instead."
140
+ config :keystore_password, :validate => :password, :obsolete => "Set 'ssl_keystore_password' instead."
141
+ config :verify_mode, :obsolete => "Set 'ssl_client_authentication' instead."
142
+ config :cipher_suites, :obsolete => "Set 'ssl_cipher_suites' instead."
143
+ config :tls_min_version, :obsolete => "Set 'ssl_supported_protocols' instead."
144
+ config :tls_max_version, :obsolete => "Set 'ssl_supported_protocols' instead."
145
+ config :ssl_verify_mode, :obsolete => "Set 'ssl_client_authentication' instead."
172
146
 
173
147
  attr_reader :codecs
174
148
 
@@ -200,12 +174,8 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
200
174
  public
201
175
  def register
202
176
 
203
- setup_ssl_params!
204
-
205
177
  validate_ssl_settings!
206
178
 
207
- validate_dump_size_system_property!
208
-
209
179
  if @user && @password
210
180
  token = Base64.strict_encode64("#{@user}:#{@password.value}")
211
181
  @auth_token = "Basic #{token}"
@@ -299,12 +269,6 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
299
269
  [http_host, nil]
300
270
  end
301
271
  end
302
-
303
- def validate_dump_size_system_property!
304
- java_import org.logstash.plugins.inputs.http.util.WireLogger
305
- WireLogger.validate_dump_size_property
306
- end
307
- private :validate_dump_size_system_property!
308
272
 
309
273
  def validate_ssl_settings!
310
274
  ssl_config_name = original_params.include?('ssl') ? 'ssl' : 'ssl_enabled'
@@ -350,34 +314,6 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
350
314
  end
351
315
 
352
316
  def setup_ssl_params!
353
- @ssl_enabled = normalize_config(:ssl_enabled) do |normalizer|
354
- normalizer.with_deprecated_alias(:ssl)
355
- end
356
-
357
- @ssl_cipher_suites = normalize_config(:ssl_cipher_suites) do |normalizer|
358
- normalizer.with_deprecated_alias(:cipher_suites)
359
- end
360
-
361
- @ssl_supported_protocols = normalize_config(:ssl_supported_protocols) do |normalizer|
362
- normalizer.with_deprecated_mapping(:tls_min_version, :tls_max_version) do |tls_min_version, tls_max_version|
363
- TLS.get_supported(tls_min_version..tls_max_version).map(&:name)
364
- end
365
- end
366
-
367
- @ssl_client_authentication = normalize_config(:ssl_client_authentication) do |normalizer|
368
- normalizer.with_deprecated_mapping(:verify_mode, :ssl_verify_mode) do |verify_mode, ssl_verify_mode|
369
- normalize_ssl_client_authentication_value!(verify_mode, ssl_verify_mode)
370
- end
371
- end
372
-
373
- @ssl_keystore_path = normalize_config(:ssl_keystore_path) do |normalizer|
374
- normalizer.with_deprecated_alias(:keystore)
375
- end
376
-
377
- @ssl_keystore_password = normalize_config(:ssl_keystore_password) do |normalizer|
378
- normalizer.with_deprecated_alias(:keystore_password)
379
- end
380
-
381
317
  params['ssl_enabled'] = @ssl_enabled unless @ssl_enabled.nil?
382
318
  params['ssl_cipher_suites'] = @ssl_cipher_suites unless @ssl_cipher_suites.nil?
383
319
  params['ssl_supported_protocols'] = @ssl_supported_protocols unless @ssl_supported_protocols.nil?
@@ -386,21 +322,9 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
386
322
  params['ssl_keystore_password'] = @ssl_keystore_password unless @ssl_keystore_password.nil?
387
323
  end
388
324
 
389
- def normalize_ssl_client_authentication_value!(verify_mode, ssl_verify_mode)
390
- verify_mode_explicitly_set = original_params.key?("verify_mode")
391
-
392
- if verify_mode_explicitly_set && original_params.key?("ssl_verify_mode")
393
- raise LogStash::ConfigurationError, "Both (deprecated) `ssl_verify_mode` and `verify_mode` were set. Use only `ssl_verify_mode`"
394
- end
395
-
396
- deprecated_value = (verify_mode_explicitly_set ? verify_mode : ssl_verify_mode).downcase
397
- SSL_VERIFY_MODE_TO_CLIENT_AUTHENTICATION_MAP[deprecated_value]
398
- end
399
-
400
325
  def create_http_server(message_handler)
401
326
  org.logstash.plugins.inputs.http.NettyHttpServer.new(
402
- @id, @host, @port, message_handler, build_ssl_params, @threads,
403
- @max_pending_requests, @max_content_length, @response_code)
327
+ @host, @port, message_handler, build_ssl_params, @threads, @max_pending_requests, @max_content_length, @response_code)
404
328
  end
405
329
 
406
330
  def build_ssl_params
@@ -476,13 +400,7 @@ class LogStash::Inputs::Http < LogStash::Inputs::Base
476
400
  end
477
401
 
478
402
  def provided_ssl_client_authentication_config(values = [@ssl_client_authentication])
479
- if original_params.include?('ssl_verify_mode')
480
- ['ssl_verify_mode', *values.map { |v| SSL_VERIFY_MODE_TO_CLIENT_AUTHENTICATION_MAP.key(v) }]
481
- elsif original_params.include?('verify_mode')
482
- ['verify_mode', *values.map { |v| SSL_VERIFY_MODE_TO_CLIENT_AUTHENTICATION_MAP.key(v) }]
483
- else
484
403
  ['ssl_client_authentication', *values]
485
- end
486
404
  end
487
405
 
488
406
  private
@@ -1,12 +1,11 @@
1
1
  # AUTOGENERATED BY THE GRADLE SCRIPT. DO NOT EDIT.
2
2
 
3
3
  require 'jar_dependencies'
4
- require_jar('io.netty', 'netty-codec-http', '4.1.137.Final')
5
- require_jar('io.netty', 'netty-handler', '4.1.137.Final')
6
- require_jar('io.netty', 'netty-codec', '4.1.137.Final')
7
- require_jar('io.netty', 'netty-transport-native-unix-common', '4.1.137.Final')
8
- require_jar('io.netty', 'netty-transport', '4.1.137.Final')
9
- require_jar('io.netty', 'netty-buffer', '4.1.137.Final')
10
- require_jar('io.netty', 'netty-resolver', '4.1.137.Final')
11
- require_jar('io.netty', 'netty-common', '4.1.137.Final')
12
- require_jar('org.logstash.plugins.input.http', 'logstash-input-http', '3.11.1')
4
+ require_jar('io.netty', 'netty-buffer', '4.1.115.Final')
5
+ require_jar('io.netty', 'netty-codec', '4.1.115.Final')
6
+ require_jar('io.netty', 'netty-codec-http', '4.1.115.Final')
7
+ require_jar('io.netty', 'netty-common', '4.1.115.Final')
8
+ require_jar('io.netty', 'netty-transport', '4.1.115.Final')
9
+ require_jar('io.netty', 'netty-handler', '4.1.115.Final')
10
+ require_jar('io.netty', 'netty-transport-native-unix-common', '4.1.115.Final')
11
+ require_jar('org.logstash.plugins.input.http', 'logstash-input-http', '4.0.0')
@@ -3,8 +3,4 @@ CERTS_DIR = File.expand_path('../fixtures/certs/generated', File.dirname(__FILE_
3
3
 
4
4
  def certificate_path(filename)
5
5
  File.join(CERTS_DIR, filename)
6
- end
7
-
8
- RSpec.configure do |config|
9
- config.formatter = :documentation
10
- end
6
+ end
@@ -11,17 +11,6 @@ require 'inputs/helpers'
11
11
 
12
12
  java_import "io.netty.handler.ssl.util.SelfSignedCertificate"
13
13
 
14
- shared_examples "decodes message with charset" do |charset|
15
- let(:headers) { { "content-type" => "application/json; charset=#{charset}" } }
16
- let(:body) { '{"msg":"A Coruña"}'.encode(charset) }
17
-
18
- it "should decode the message accordingly" do
19
- client.post("http://127.0.0.1:#{port}/meh.json", :headers => headers, :body => body).call
20
- event = logstash_queue.pop
21
- expect(event.get("msg")).to eq("A Coruña")
22
- end
23
- end
24
-
25
14
  describe LogStash::Inputs::Http do
26
15
 
27
16
  before do
@@ -55,61 +44,20 @@ describe LogStash::Inputs::Http do
55
44
  end
56
45
 
57
46
  describe "handling overflowing requests with a 429" do
58
- let(:logstash_queue_size) { 1 }
59
- let(:max_pending_requests) { 1 }
60
- let(:threads) { 1 }
61
- let(:logstash_queue) { SizedQueue.new(logstash_queue_size) }
62
- let(:client_options) { {
63
- request_timeout: 5,
64
- connect_timeout: 3,
65
- socket_timeout: 0.5
66
- } }
67
-
68
- let(:config) { { "port" => port, "threads" => threads, "max_pending_requests" => max_pending_requests } }
69
-
70
- context "when sending more requests than queue slots" do
71
- it "rejects additional incoming requests with HTTP 429" do
72
- # fill the pipeline queue so the next push blocks the server worker
73
- logstash_queue_size.times do
74
- response = client.post("http://127.0.0.1:#{port}", :body => '{}').call
75
- expect(response.code).to eq(200)
76
- end
77
-
78
- # a blocked request holds its slot even after the client times out, so sending
79
- # sequentially fills every worker and backlog slot before the next 429
80
- blocked = 0
81
- response = nil
82
- deadline = Time.now + 30
83
- until response && response.code == 429
84
- raise "server never returned 429 (blocked=#{blocked})" if Time.now > deadline
85
- begin
86
- response = client.post("http://127.0.0.1:#{port}", :body => '{}').call
87
- rescue Manticore::SocketTimeout
88
- blocked += 1
89
- end
90
- end
91
-
92
- expect(response.code).to eq(429)
93
- expect(blocked).to eq(threads + max_pending_requests)
94
- end
95
- end
96
- end
97
-
98
- describe "observing queue back-pressure" do
99
47
  let(:logstash_queue_size) { rand(10) + 1 }
100
48
  let(:max_pending_requests) { rand(5) + 1 }
101
49
  let(:threads) { rand(4) + 1 }
102
50
  let(:logstash_queue) { SizedQueue.new(logstash_queue_size) }
103
51
  let(:client_options) { {
104
- request_timeout: 5,
105
- connect_timeout: 3,
106
- socket_timeout: 1
52
+ "request_timeout" => 0.1,
53
+ "connect_timeout" => 3,
54
+ "socket_timeout" => 0.1
107
55
  } }
108
56
 
109
57
  let(:config) { { "port" => port, "threads" => threads, "max_pending_requests" => max_pending_requests } }
110
58
 
111
- context "when sending request to an input that has blocked connections" do
112
- it "rejects incoming requests with HTTP 429" do
59
+ context "when sending more requests than queue slots" do
60
+ it "should block when the queue is full" do
113
61
  # these will queue and return 200
114
62
  logstash_queue_size.times.each do |i|
115
63
  response = client.post("http://127.0.0.1:#{port}", :body => '{}').call
@@ -117,28 +65,15 @@ describe LogStash::Inputs::Http do
117
65
  end
118
66
 
119
67
  # these will block
120
- blocked_call = Thread.new do
121
- begin
122
- {:result => client.post("http://127.0.0.1:#{port}", :body => '{}').call}
123
- rescue Manticore::SocketException, Manticore::SocketTimeout => e
124
- {:exception => e}
125
- end
126
- end
127
-
128
- sleep 12 # let that requests go, and ensure it is blocking long enough to be problematic
68
+ (threads + max_pending_requests).times.each do |i|
69
+ expect {
70
+ client.post("http://127.0.0.1:#{port}", :body => '{}').call
71
+ }.to raise_error(Manticore::SocketTimeout)
72
+ end
129
73
 
130
- # by now we should be rejecting with 429 since at least one existing request is blocked
131
- # for more than 10s.
74
+ # by now we should be rejecting with 429
132
75
  response = client.post("http://127.0.0.1:#{port}", :body => '{}').call
133
76
  expect(response.code).to eq(429)
134
-
135
- # ensure that our blocked connections did block
136
- aggregate_failures do
137
- blocked_call.value.tap do |blocked|
138
- expect(blocked[:result]).to be_nil
139
- expect(blocked[:exception]).to be_a_kind_of Manticore::SocketTimeout
140
- end
141
- end
142
77
  end
143
78
  end
144
79
  end
@@ -212,16 +147,6 @@ describe LogStash::Inputs::Http do
212
147
  expect(event.get("message_body")).to eq("Hello")
213
148
  end
214
149
  end
215
-
216
- context "when receiving a request with content-type specifying charset" do
217
- context "ISO-8859-1" do
218
- it_behaves_like "decodes message with charset", "ISO-8859-1"
219
- end
220
-
221
- context "UTF-8" do
222
- it_behaves_like "decodes message with charset", "utf-8"
223
- end
224
- end
225
150
  end
226
151
 
227
152
  context "with json codec" do
@@ -301,22 +226,7 @@ describe LogStash::Inputs::Http do
301
226
  event = logstash_queue.pop
302
227
  expect(event.get("message")).to eq("Hello")
303
228
  end
304
-
305
- end
306
-
307
- context 'enforced TLSv1.3 (deprecated options)' do
308
-
309
- let(:config) { super().merge 'tls_min_version' => 1.3,
310
- 'cipher_suites' => [ 'TLS_AES_128_GCM_SHA256' ] }
311
-
312
- it "should parse the json body" do
313
- expect(response.code).to eq(200)
314
- event = logstash_queue.pop
315
- expect(event.get("message")).to eq("Hello")
316
- end
317
-
318
229
  end
319
-
320
230
  end if TLS13_ENABLED_BY_DEFAULT
321
231
 
322
232
  end
@@ -636,16 +546,6 @@ describe LogStash::Inputs::Http do
636
546
  subject.run(nil)
637
547
  end
638
548
  end
639
-
640
- context "and `ssl_` settings provided" do
641
- let(:ssc) { SelfSignedCertificate.new }
642
- let(:config) { { "port" => 0, "ssl_enabled" => false, "ssl_certificate" => ssc.certificate.path, "ssl_client_authentication" => "none", "cipher_suites" => ["TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"] } }
643
-
644
- it "should warn about not using the configs" do
645
- expect(subject.logger).to receive(:warn).with(/^Configured SSL settings are not used when `ssl_enabled` is set to `false`: \[("ssl_certificate"(,\s)?|"ssl_client_authentication"(,\s)?|"cipher_suites"(,\s)?)*\]$/)
646
- subject.register
647
- end
648
- end
649
549
  end
650
550
 
651
551
  context "with :ssl_enabled => true" do
@@ -703,31 +603,7 @@ describe LogStash::Inputs::Http do
703
603
  expect { subject.register }.to_not raise_exception
704
604
  end
705
605
  end
706
- ["ssl_verify_mode", "verify_mode"].each do |config_name|
707
- ["peer", "force_peer"].each do |verify_mode|
708
- context "with deprecated #{config_name} = #{verify_mode}" do
709
- subject { LogStash::Inputs::Http.new("port" => port,
710
- "ssl_enabled" => true,
711
- "ssl_certificate" => ssl_certificate.path,
712
- "ssl_certificate_authorities" => ssl_certificate.path,
713
- "ssl_key" => ssl_key.path,
714
- config_name => verify_mode
715
- ) }
716
- it "should not raise exception" do
717
- expect { subject.register }.to_not raise_exception
718
- end
719
- end
720
- end
721
- end
722
- ["ssl_verify_mode", "verify_mode"].each do |config_name|
723
- context "with deprecated #{config_name} = none" do
724
- subject { LogStash::Inputs::Http.new(config.merge(config_name => "none")) }
725
606
 
726
- it "should not raise exception" do
727
- expect { subject.register }.to_not raise_exception
728
- end
729
- end
730
- end
731
607
  context "with invalid ssl certificate" do
732
608
  before do
733
609
  cert = File.readlines path = config["ssl_certificate"]
@@ -775,76 +651,6 @@ describe LogStash::Inputs::Http do
775
651
  end
776
652
  end
777
653
 
778
- context "with both verify_mode and ssl_verify_mode options set" do
779
- let(:config) do
780
- super().merge('verify_mode' => 'none', 'ssl_verify_mode' => 'none')
781
- end
782
-
783
- it "should raise a configuration error" do
784
- expect { subject.register }.to raise_error LogStash::ConfigurationError, /Use only .?ssl_verify_mode`.?/i
785
- end
786
- end
787
-
788
- context "with both ssl_client_authentication and ssl_verify_mode options set" do
789
- let(:config) do
790
- super().merge('ssl_client_authentication' => 'optional', 'ssl_verify_mode' => 'none')
791
- end
792
-
793
- it "should raise a configuration error" do
794
- expect { subject.register }.to raise_error LogStash::ConfigurationError, /Use only .?ssl_client_authentication.?/i
795
- end
796
- end
797
-
798
- context "with both ssl_client_authentication and verify_mode options set" do
799
- let(:config) do
800
- super().merge('ssl_client_authentication' => 'optional', 'verify_mode' => 'none')
801
- end
802
-
803
- it "should raise a configuration error" do
804
- expect { subject.register }.to raise_error LogStash::ConfigurationError, /Use only .?ssl_client_authentication.?/i
805
- end
806
- end
807
-
808
- context "with ssl_cipher_suites and cipher_suites set" do
809
- let(:config) do
810
- super().merge('ssl_cipher_suites' => ['TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384'],
811
- 'cipher_suites' => ['TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384'])
812
- end
813
-
814
- it "should raise a configuration error" do
815
- expect { subject.register }.to raise_error LogStash::ConfigurationError, /Use only .?ssl_cipher_suites.?/i
816
- end
817
- end
818
-
819
- context "with ssl_supported_protocols and tls_min_version set" do
820
- let(:config) do
821
- super().merge('ssl_supported_protocols' => ['TLSv1.2'], 'tls_min_version' => 1.0)
822
- end
823
-
824
- it "should raise a configuration error" do
825
- expect { subject.register }.to raise_error LogStash::ConfigurationError, /Use only .?ssl_supported_protocols.?/i
826
- end
827
- end
828
-
829
- context "with ssl_supported_protocols and tls_max_version set" do
830
- let(:config) do
831
- super().merge('ssl_supported_protocols' => ['TLSv1.2'], 'tls_max_version' => 1.2)
832
- end
833
-
834
- it "should raise a configuration error" do
835
- expect { subject.register }.to raise_error LogStash::ConfigurationError, /Use only .?ssl_supported_protocols.?/i
836
- end
837
- end
838
-
839
- context "with both ssl and ssl_enabled set" do
840
- let(:config) do
841
- super().merge('ssl' => true, 'ssl_enabled' => true )
842
- end
843
-
844
- it "should raise a configuration error" do
845
- expect { subject.register }.to raise_error LogStash::ConfigurationError, /Use only .?ssl_enabled.?/i
846
- end
847
- end
848
654
 
849
655
  context "and with :ssl_keystore_path" do
850
656
  let(:config) do
@@ -857,41 +663,6 @@ describe LogStash::Inputs::Http do
857
663
  end
858
664
 
859
665
  context "with ssl_client_authentication" do
860
- context "normalized from ssl_verify_mode 'none'" do
861
- let(:config) { super().merge("ssl_verify_mode" => "none") }
862
-
863
- it "should transform the value to 'none'" do
864
- subject.register
865
- expect(subject.params).to match hash_including("ssl_client_authentication" => "none")
866
- expect(subject.instance_variable_get(:@ssl_client_authentication)).to eql("none")
867
- end
868
-
869
- context "and ssl_certificate_authorities is set" do
870
- let(:config) { super().merge("ssl_certificate_authorities" => [certificate_path( 'root.crt')]) }
871
- it "raise a configuration error" do
872
- expect { subject.register }.to raise_error(LogStash::ConfigurationError, "The configuration of `ssl_certificate_authorities` requires setting `ssl_verify_mode` to `peer` or 'force_peer'")
873
- end
874
- end
875
- end
876
-
877
- [%w[peer optional], %w[force_peer required]].each do |ssl_verify_mode, ssl_client_authentication|
878
- context "normalized from ssl_verify_mode '#{ssl_verify_mode}'" do
879
- let(:config) { super().merge("ssl_verify_mode" => ssl_verify_mode, "ssl_certificate_authorities" => [certificate_path( 'root.crt')]) }
880
-
881
- it "should transform the value to '#{ssl_client_authentication}'" do
882
- subject.register
883
- expect(subject.params).to match hash_including("ssl_client_authentication" => ssl_client_authentication)
884
- expect(subject.instance_variable_get(:@ssl_client_authentication)).to eql(ssl_client_authentication)
885
- end
886
-
887
- context "with no ssl_certificate_authorities set " do
888
- let(:config) { super().reject { |key| "ssl_certificate_authorities".eql?(key) } }
889
- it "raise a configuration error" do
890
- expect {subject.register}.to raise_error(LogStash::ConfigurationError, "Using `ssl_verify_mode` set to `peer` or `force_peer`, requires the configuration of `ssl_certificate_authorities` or `ssl_truststore_path`")
891
- end
892
- end
893
- end
894
- end
895
666
 
896
667
  context "configured to 'none'" do
897
668
  let(:config) { super().merge("ssl_client_authentication" => "none") }
@@ -1028,7 +799,26 @@ describe LogStash::Inputs::Http do
1028
799
  end
1029
800
  end
1030
801
  end
802
+ end
1031
803
 
804
+ describe 'handling obsolete settings' do
805
+ [{:name => 'tls_min_version', :replacement => 'ssl_supported_protocols', :sample_value => 1.3},
806
+ {:name => 'tls_max_version', :replacement => 'ssl_supported_protocols', :sample_value => 1.3},
807
+ {:name => 'cipher_suites', :replacement => 'ssl_cipher_suites', :sample_value => ['TLS_AES_128_GCM_SHA256']},
808
+ {:name => 'ssl', :replacement => 'ssl_enabled', :sample_value => true},
809
+ {:name => 'keystore', :replacement => 'ssl_keystore_path', :sample_value => certificate_path( 'server_from_root.p12')},
810
+ {:name => 'keystore_password', :replacement => 'ssl_keystore_password', :sample_value => 'none'},
811
+ {:name => 'ssl_verify_mode', :replacement => 'ssl_client_authentication', :sample_value => 'peer'},
812
+ {:name => 'verify_mode', :replacement => 'ssl_client_authentication', :sample_value => 'peer'}].each do | obsolete_setting|
813
+ context "with obsolete #{obsolete_setting[:name]}" do
814
+ let (:deprecated_config) do
815
+ config.merge({obsolete_setting[:name] => obsolete_setting[:sample_value]})
816
+ end
817
+ it "should raise a config error with the appropriate message" do
818
+ expect { LogStash::Inputs::Http.new(deprecated_config).register }.to raise_error LogStash::ConfigurationError, /The setting `#{obsolete_setting[:name]}` in plugin `http` is obsolete and is no longer available. Set '#{obsolete_setting[:replacement]}' instead/i
819
+ end
820
+ end
821
+ end
1032
822
  end
1033
823
  end
1034
824
 
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-input-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.11.1
4
+ version: 4.0.0
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2026-08-20 00:00:00.000000000 Z
11
+ date: 2024-12-18 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
- name: logstash-core-plugin-api
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
@@ -19,6 +19,7 @@ dependencies:
19
19
  - - "<="
20
20
  - !ruby/object:Gem::Version
21
21
  version: '2.99'
22
+ name: logstash-core-plugin-api
22
23
  type: :runtime
23
24
  prerelease: false
24
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -30,12 +31,12 @@ dependencies:
30
31
  - !ruby/object:Gem::Version
31
32
  version: '2.99'
32
33
  - !ruby/object:Gem::Dependency
33
- name: logstash-codec-plain
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ">="
37
37
  - !ruby/object:Gem::Version
38
38
  version: '0'
39
+ name: logstash-codec-plain
39
40
  type: :runtime
40
41
  prerelease: false
41
42
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,12 +45,12 @@ dependencies:
44
45
  - !ruby/object:Gem::Version
45
46
  version: '0'
46
47
  - !ruby/object:Gem::Dependency
47
- name: logstash-mixin-ecs_compatibility_support
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '1.2'
53
+ name: logstash-mixin-ecs_compatibility_support
53
54
  type: :runtime
54
55
  prerelease: false
55
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,12 +59,12 @@ dependencies:
58
59
  - !ruby/object:Gem::Version
59
60
  version: '1.2'
60
61
  - !ruby/object:Gem::Dependency
61
- name: logstash-mixin-normalize_config_support
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '1.0'
67
+ name: logstash-mixin-normalize_config_support
67
68
  type: :runtime
68
69
  prerelease: false
69
70
  version_requirements: !ruby/object:Gem::Requirement
@@ -72,12 +73,12 @@ dependencies:
72
73
  - !ruby/object:Gem::Version
73
74
  version: '1.0'
74
75
  - !ruby/object:Gem::Dependency
75
- name: logstash-devutils
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
80
  version: '0'
81
+ name: logstash-devutils
81
82
  type: :development
82
83
  prerelease: false
83
84
  version_requirements: !ruby/object:Gem::Requirement
@@ -86,12 +87,12 @@ dependencies:
86
87
  - !ruby/object:Gem::Version
87
88
  version: '0'
88
89
  - !ruby/object:Gem::Dependency
89
- name: logstash-codec-json
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
+ name: logstash-codec-json
95
96
  type: :development
96
97
  prerelease: false
97
98
  version_requirements: !ruby/object:Gem::Requirement
@@ -100,12 +101,12 @@ dependencies:
100
101
  - !ruby/object:Gem::Version
101
102
  version: '0'
102
103
  - !ruby/object:Gem::Dependency
103
- name: logstash-codec-json_lines
104
104
  requirement: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - ">="
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
+ name: logstash-codec-json_lines
109
110
  type: :development
110
111
  prerelease: false
111
112
  version_requirements: !ruby/object:Gem::Requirement
@@ -114,12 +115,12 @@ dependencies:
114
115
  - !ruby/object:Gem::Version
115
116
  version: '0'
116
117
  - !ruby/object:Gem::Dependency
117
- name: manticore
118
118
  requirement: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
+ name: manticore
123
124
  type: :development
124
125
  prerelease: false
125
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -168,21 +169,21 @@ files:
168
169
  - spec/fixtures/certs/openssl.cnf
169
170
  - spec/inputs/helpers.rb
170
171
  - spec/inputs/http_spec.rb
171
- - vendor/jar-dependencies/io/netty/netty-buffer/4.1.137.Final/netty-buffer-4.1.137.Final.jar
172
- - vendor/jar-dependencies/io/netty/netty-codec-http/4.1.137.Final/netty-codec-http-4.1.137.Final.jar
173
- - vendor/jar-dependencies/io/netty/netty-codec/4.1.137.Final/netty-codec-4.1.137.Final.jar
174
- - vendor/jar-dependencies/io/netty/netty-common/4.1.137.Final/netty-common-4.1.137.Final.jar
175
- - vendor/jar-dependencies/io/netty/netty-handler/4.1.137.Final/netty-handler-4.1.137.Final.jar
176
- - vendor/jar-dependencies/io/netty/netty-resolver/4.1.137.Final/netty-resolver-4.1.137.Final.jar
177
- - vendor/jar-dependencies/io/netty/netty-transport-native-unix-common/4.1.137.Final/netty-transport-native-unix-common-4.1.137.Final.jar
178
- - vendor/jar-dependencies/io/netty/netty-transport/4.1.137.Final/netty-transport-4.1.137.Final.jar
179
- - vendor/jar-dependencies/org/logstash/plugins/input/http/logstash-input-http/3.11.1/logstash-input-http-3.11.1.jar
172
+ - vendor/jar-dependencies/io/netty/netty-buffer/4.1.115.Final/netty-buffer-4.1.115.Final.jar
173
+ - vendor/jar-dependencies/io/netty/netty-codec-http/4.1.115.Final/netty-codec-http-4.1.115.Final.jar
174
+ - vendor/jar-dependencies/io/netty/netty-codec/4.1.115.Final/netty-codec-4.1.115.Final.jar
175
+ - vendor/jar-dependencies/io/netty/netty-common/4.1.115.Final/netty-common-4.1.115.Final.jar
176
+ - vendor/jar-dependencies/io/netty/netty-handler/4.1.115.Final/netty-handler-4.1.115.Final.jar
177
+ - vendor/jar-dependencies/io/netty/netty-transport-native-unix-common/4.1.115.Final/netty-transport-native-unix-common-4.1.115.Final.jar
178
+ - vendor/jar-dependencies/io/netty/netty-transport/4.1.115.Final/netty-transport-4.1.115.Final.jar
179
+ - vendor/jar-dependencies/org/logstash/plugins/input/http/logstash-input-http/4.0.0/logstash-input-http-4.0.0.jar
180
180
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
181
181
  licenses:
182
182
  - Apache License (2.0)
183
183
  metadata:
184
184
  logstash_plugin: 'true'
185
185
  logstash_group: input
186
+ post_install_message:
186
187
  rdoc_options: []
187
188
  require_paths:
188
189
  - lib
@@ -198,7 +199,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
199
  - !ruby/object:Gem::Version
199
200
  version: '0'
200
201
  requirements: []
201
- rubygems_version: 3.6.3
202
+ rubygems_version: 3.3.26
203
+ signing_key:
202
204
  specification_version: 4
203
205
  summary: Receives events over HTTP or HTTPS
204
206
  test_files: