logstash-filter-wurfl_device_detection 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 569f2d8ec0d6977801ef612c6576f8f9c5cffbb7e9af3ac790234c3ec67a4d27
4
- data.tar.gz: f3550677c5062c336553b2e82923d81b3d7c9d71aaf46aaba5d3d2f1ad1e5e41
3
+ metadata.gz: 2168139619cce611e9e955b5f3eb575cbb3720699137ff83e7706af4c92b7c4c
4
+ data.tar.gz: 005aa079e3e9b0d7fdf0a46ca83e604f23a89a10769d202d0baf828078eb82af
5
5
  SHA512:
6
- metadata.gz: 186f32f8eb0e9e6f4242d0920c374c3d51079788fabc6b3acce0b072e1aa7459aa8eb00d01bb4c8ae18909af607935e2c7de22b2b8f147dcd23327ac9a2a256f
7
- data.tar.gz: 639d317c5b54920adf4cefea58276c78e861481ef81264e1544bba9b53c51c7f270ce3b09c16129bf2405f2ae6d44275829d1658a0b570f435cf3fce6a964ebb
6
+ metadata.gz: 4f763e50ca546c2167fc1b5d89ccce4e628170ccb6f331448765b922ad0a386962dd1ad785a69e78bcbae99cd764b84faf46d621f35cdc63723e14724c9b1ab6
7
+ data.tar.gz: d21a9e70ee6981d3f8659e6bfe313516a177706a299eb63c6410e3188f65d17f978b631aeafc59005c7ba5598d28d02bac5aef69c4a16766180a4ad55261ec17
@@ -0,0 +1,12 @@
1
+ - 0.4.0 - now support for array of events
2
+
3
+ - 0.3.4 - added gemspec file, fixed naming convention issues
4
+
5
+ - 0.3.3 - Better description of WM pre requisites in rubygem.org deploy
6
+
7
+ - 0.3.2 - Fixed wrong info in build file
8
+
9
+ - 0.3.1 - Small logging improvements
10
+
11
+ - 0.3.0 - Initial release
12
+
@@ -0,0 +1,10 @@
1
+ The following is a list of people who have contributed ideas, code, bug
2
+ reports, or in general have helped logstash along its way.
3
+
4
+ Contributors:
5
+ * andrea - andrea@scientiamobile.com
6
+
7
+ Note: If you've sent us patches, bug reports, or otherwise contributed to
8
+ Logstash, and you aren't on the list above and want to be, please let us know
9
+ and we'll make sure you're here. Contributions from folks like you are what make
10
+ open source awesome.
data/LICENSE ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright 2020 Elastic and contributors
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/README.md CHANGED
@@ -1,13 +1,15 @@
1
1
  ### WURFL Logstash plugin
2
2
 
3
- This project contains a java plugin for Logstash that enriches a stream of data with device detection data obtained via WURFL Microservice.
3
+ This project contains a java plugin for Logstash that enriches a stream of data with device data obtained from WURFL ([through WURFL Microservice Client, as deployed in one of multiple ways](https://www.scientiamobile.com/products/wurfl-microservice/)).
4
4
 
5
5
  This plugin requires Java 8+, Gradle 5.x or above and has been tested with Logstash 8.0.0 and 7.6.x
6
+ It also requires a running instance of WURFL Microservice server, available on [AWS](https://aws.amazon.com/marketplace/search/results?x=26&y=17&searchTerms=WURFL), [Azure](https://azuremarketplace.microsoft.com/en-us/marketplace/apps?search=WURFL&page=1) or as a [Docker container](https://www.scientiamobile.com/products/wurfl-microservice-docker-detect-device/)
6
7
 
7
8
  ## Compile the project
8
9
 
9
- From the root of the project do ` ./gradlew gem`
10
- A file `logstash-filter-logstash_filter_wurfl_device_detection-x.y.z.gem`, where x.y.z version number
10
+ From the root of the project enter ` ./gradlew gem`
11
+
12
+ The compiler will create a file `logstash-filter-logstash_filter_wurfl_device_detection-x.y.z.gem`, where x.y.z version number
11
13
  is the one defined in the `VERSION` file.
12
14
 
13
15
  ## Install the plugin on logstash
@@ -15,46 +17,26 @@ is the one defined in the `VERSION` file.
15
17
  From the logstash installation `bin` directory execute
16
18
  `./logstash-plugin install --local <plugin_project_home>/logstash-filter-logstash_filter_wurfl_device_detection-x.y.z.gem`
17
19
 
18
- Please note that this plugin requires a `stdin` plugin as specified in the sample configuration file
19
- `wurfl_filter.conf`; also note that the aforementioned file is a sample: you will want to create your own
20
- production configuration file.
21
-
22
- ## Sample Logstash execution with WURFL device detection plugin - user-agent list file example
23
- Scenario: we have a file with a list of user-agent strings. We want to output some device detection data for each input user-agent.
24
- We can execute logstash sending the user-agent to its standard input via pipe, like this:
25
-
26
- `head -n <number of user-agents to send> <path_to_user_agent_list> | ./logstash -f <path_to_configuration>.conf>`
20
+ You can find a sample configuration for this plugin can be found under `sample_config/wurfl_filter_config_with_http_input`; you will want to create your own
21
+ production configuration file using input and output plugins of your choice.
27
22
 
28
- In case you use the sample configuration in the file wurfl_filter.conf, you'll get an output like this:
29
-
30
- ```
31
- {
32
- "@timestamp" => 2020-03-10T15:50:19.917Z,
33
- "message" => "Mozilla/5.0 (Linux; Android 5.1; DL718M Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.93 Safari/537.36",
34
- "@version" => "1",
35
- "host" => "my-laptop",
36
- "wurfl" => {
37
- "form_factor" => "Tablet",
38
- "brand_name" => "Digiland",
39
- "wurfl_id" => "digiland_dl718m_ver1",
40
- "model_name" => "DL718M"
41
- }
42
- ```
43
-
44
- ### Example configuration 1 - Input file with a list of user-agent strings
23
+ ### Example configuration - using HTTP input plugin to receive HTTP request data
24
+ Scenario: we configure logstash to receive HTTP request information that we want to enrich with WURFL data.
45
25
 
46
26
  ```
47
27
  input {
48
- stdin { }
28
+ http {
29
+ host => "0.0.0.0"
30
+ port => "19080"
31
+ }
49
32
  }
50
33
  filter {
51
34
  logstash_filter_wurfl_device_detection {
35
+ source => "headers"
52
36
  cache_size => 300000
53
37
  inject_wurfl_id => true
54
38
  inject_wurfl_info => false
55
39
  inject_wurfl_api_version => false
56
- static_capabilities => ["model_name", "brand_name"]
57
- virtual_capabilities => ["form_factor"]
58
40
  scheme => "http"
59
41
  host => "localhost"
60
42
  port => "8080"
@@ -65,44 +47,114 @@ output {
65
47
  }
66
48
  ```
67
49
 
68
- ## Sample Logstash execution with WURFL device detection plugin - header map received from HTTP input
69
- Scenario: we configure logstash to receive HTTP request info which we want to enrich with WURFL data.
70
- We execute logstash:
50
+ The http input plugin receives an http request to the specified host and port, with a payload map that contains the HTTP headers that the WURFL plugin will analyze.
51
+ Note that the `source` name is `headers`. Also note that you can configure the logstash input as you want,
52
+ but if you want the WURFL plugin to work with headers, you must configure it so that it uses an header map.
71
53
 
72
- `./logstash -f <path_to_configuration>.conf>`
54
+ ### Example configuration - using JSON input and filter plugins to receive HTTP request data
55
+ Scenario: we configure logstash to receive HTTP request information from one or more JSON files (needs logstash-filter-json plugin).
73
56
 
74
- The input configuration for this file is defined in http input configuration, ie:
75
57
  ```
76
58
  input {
77
- http {
78
- host => "0.0.0.0"
79
- port => "19080"
59
+ file {
60
+ type => "json"
61
+ path => "<path to>/logstash-filter-wurfl/sample_input/kafka_events_mini.json"
62
+ start_position => "beginning"
80
63
  }
81
64
  }
82
65
  filter {
83
- logstash_filter_wurfl_device_detection {
84
- source => "headers"
66
+ json {
67
+ source => "message"
68
+ }
69
+ }
70
+ filter {
71
+ wurfl_device_detection {
72
+ source => "message"
85
73
  cache_size => 300000
86
74
  inject_wurfl_id => true
87
75
  inject_wurfl_info => false
88
76
  inject_wurfl_api_version => false
77
+ # commenting the capabilities config, you get them all
78
+ #static_capabilities => ["model_name", "brand_name"]
79
+ #virtual_capabilities => ["form_factor"]
89
80
  scheme => "http"
90
81
  host => "localhost"
91
82
  port => "8080"
92
83
  }
93
84
  }
94
85
  output {
86
+ # you may choose whatever output you want
95
87
  stdout { codec => rubydebug }
96
88
  }
97
89
  ```
98
90
 
99
- The http input plugin receives an http request to the specified host and port, with a payload map that contains the HTTP headers
100
- to be analyzed by the WURFL plugin.
101
- Note that the `source` name is `headers`. Also note that you can configure the logstash input as you want,
102
- but if you want the WURFL plugin to work with headers, you must configure it so that it uses an header map.
91
+ Source field "message" is the root element of the json file
92
+
93
+ ### Starting logstash
94
+
95
+ Start the WURFL Microservice server on AWS/Azure/Docker then, let's run logstash:
103
96
 
104
- - `stdin` and `stdout` define which input and output plugin will be used: in the first scenario we use the standard input, in the second scenario
105
- we use the HTTP input plugin, while in both scenarios we use the ruby debug console as output.
97
+ `./logstash -f <path_to_configuration>.conf>`
98
+
99
+ in case you choose the HTTP input configuration, sending a HTTP request to its configured port (in this case 19080) like this (we just add the user-agent header for simplicity, but you can send all headers using the -H flag):
100
+
101
+ `curl -H "User-Agent: Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3359.139 Mobile Safari/537.36" http://localhost:19080`
102
+
103
+ we'll get an output that looks like this:
104
+
105
+ ```
106
+ {
107
+ "message" => "",
108
+ "@version" => "1",
109
+ "headers" => {
110
+ "request_method" => "GET",
111
+ "http_host" => "localhost:19080",
112
+ "http_accept" => "*/*",
113
+ "http_user_agent" => "Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3359.139 Mobile Safari/537.36",
114
+ "content_length" => "0",
115
+ "request_path" => "/",
116
+ "http_version" => "HTTP/1.1"
117
+ },
118
+ "@timestamp" => 2020-03-19T09:01:58.761Z,
119
+ "host" => "127.0.0.1",
120
+ "wurfl" => {
121
+ "is_robot" => "false",
122
+ "is_ios" => "false",
123
+ "advertised_browser" => "Chrome Mobile",
124
+ "form_factor" => "Smartphone",
125
+ "is_app_webview" => "false",
126
+ "is_mobile" => "true",
127
+ "is_android" => "true",
128
+ "brand_name" => "Google",
129
+ "resolution_height" => "2560",
130
+ "is_windows_phone" => "false",
131
+ "wurfl_id" => "google_pixel_2_xl_ver1",
132
+ "is_app" => "false",
133
+ "complete_device_name" => "Google Pixel 2 XL",
134
+ "pointing_method" => "touchscreen",
135
+ "device_os" => "Android",
136
+ "advertised_app_name" => "Chrome browser",
137
+ "device_name" => "Google Pixel 2 XL",
138
+ "resolution_width" => "1440",
139
+ "advertised_device_os_version" => "8.0.0",
140
+ "is_tablet" => "false",
141
+ "model_name" => "Pixel 2 XL",
142
+ "mobile_browser" => "Chrome Mobile",
143
+ "is_smarttv" => "false",
144
+ "is_touchscreen" => "true",
145
+ "advertised_browser_version" => "65.0.3359.139",
146
+ "is_smartphone" => "true",
147
+ "advertised_device_os" => "Android",
148
+ [...]
149
+ }
150
+ }
151
+
152
+ ```
153
+
154
+ In case you chose the JSON input file configuration, logstash will automatically parse it and print the output.
155
+
156
+ - `stdin` and `stdout` define which input and output plugin will be used: in our scenario
157
+ we use the HTTP input plugin, while we use the ruby debug console as output.
106
158
  - `cache_size` (integer) is the size of the WURFL Microservice client cache. Defaults to 100000
107
159
  - `inject_wurfl_id` defines whether `wurfl_id` will be added to enriched output (defaults to true)
108
160
  - `inject_wurfl_info` defines whether `wurfl_info` will be added to enriched output (defaults to false)
@@ -112,8 +164,3 @@ but if you want the WURFL plugin to work with headers, you must configure it so
112
164
  - `scheme` defines the connection scheme to use to connect to WURFL Microservice server (currently only HTTP is supported)
113
165
  - `host` host/ip address of the WURFL Microservice server (defaults to localhost)
114
166
  - `port` port of the WURFL Microservice server (defaults to 80)
115
-
116
-
117
-
118
-
119
-
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.4.0
@@ -18,7 +18,7 @@ END - GENERATED VARIABLES, DO NOT EDIT!
18
18
 
19
19
  === Description
20
20
 
21
- The WURFL device detection filter adds information about a device's capabilities, using WURFL Microservice client.
21
+ The WURFL device detection filter adds device information to HTTP requests through the WURFL API ( [WURFL Microservice client](https://www.scientiamobile.com/products/wurfl-microservice/)).
22
22
 
23
23
  [id="plugins-{type}s-{plugin}-options"]
24
24
  ==== WURFL device detection Filter Configuration Options
@@ -76,33 +76,32 @@ Defines whether `wurfl_info` string will be added to enriched output.
76
76
  * Value type is <<boolean,boolean>>
77
77
  * Default value is `false`
78
78
 
79
- Defines whether `wurfl_api_version` will be added to enriched output.
79
+ Defines whether the `wurfl_api_version` will be added to enriched output.
80
80
 
81
81
  [id="plugins-{type}s-{plugin}-source"]
82
82
  ===== `source`
83
83
 
84
84
  * Value type is <<string,string>>
85
- * Default value is empty list
85
+ * Default value is an empty list
86
86
 
87
- The field used by the filter plugin to get data for device detection. If input data is made of simple user-agents sent one by one,
88
- you can use the default value `"message"`, if the the input data is made of all HTTP headers, the source value must be `"headers"`.
87
+ The filter plugin uses this field to identify which subset of the input data is used for device detection. Using default
88
+ value `"headers"`, the system will use all HTTP headers to perform the detection.
89
89
 
90
90
  [id="plugins-{type}s-{plugin}-static_capabilities"]
91
91
  ===== `static_capabilities`
92
92
 
93
93
  * Value type is <<array,array>>
94
- * Default value is empty array which means *detect all static capabilities*
94
+ * Default value is the empty array. This amounts to *detect all static capabilities* available.
95
95
 
96
- A list of WURFL static capabilities that must be detected in order to be added to the output. Default value is empty array,
97
- which means *detect all capabilities*.
96
+ If a list of WURFL static capabilities is provided, only those will be added to the output.
98
97
 
99
98
  [id="plugins-{type}s-{plugin}-virtual_capabilities"]
100
99
  ===== `virtual_capabilities`
101
100
 
102
101
  * Value type is <<array,array>>
103
- * Default value is empty array which means *detect all virtual capabilities*
102
+ * DDefault value is the empty array. This amounts to *detect all virtual capabilities* available.
104
103
 
105
- A list of WURFL virtual capabilities that must be detected in order to be added to the output.
104
+ If a list of WURFL virtual capabilities is provided, only those will be added to the output.
106
105
 
107
106
  [id="plugins-{type}s-{plugin}-scheme"]
108
107
  ===== `scheme`
@@ -110,7 +109,7 @@ A list of WURFL virtual capabilities that must be detected in order to be added
110
109
  * Value type is <<string,string>>
111
110
  * Default value is `"http"`
112
111
 
113
- Scheme used to connect to your WURFL Microservice server instance
112
+ Protocol scheme used to connect to your WURFL Microservice server instance
114
113
 
115
114
  [id="plugins-{type}s-{plugin}-host"]
116
115
  ===== `host`
@@ -2,4 +2,4 @@
2
2
  # encoding: utf-8
3
3
 
4
4
  require 'jar_dependencies'
5
- require_jar('com.scientiamobile.logstash', 'logstash-filter-wurfl_device_detection', '0.3.0')
5
+ require_jar('com.scientiamobile.logstash', 'logstash-filter-wurfl_device_detection', '0.4.0')
@@ -4,10 +4,11 @@ Gem::Specification.new do |s|
4
4
  s.version = ::File.read('VERSION').split('\n').first
5
5
  s.licenses = ['Apache-2.0']
6
6
  s.summary = 'Filter that augments stream with WURFL device detection data'
7
- s.description = 'This gem is a Logstash plugin that augments stream with WURFL device detection data and is required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program'
8
- s.authors = ['Elasticsearch']
9
- s.email = ['info@elastic.co']
10
- s.homepage = 'http://www.elastic.co/guide/en/logstash/current/index.html'
7
+ s.description = 'This gem is a Logstash plugin that augments stream with WURFL device detection data and is required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program.
8
+ Please note that this plugin requires a running instance of WURFL Microservice (https://www.scientiamobile.com/products/wurfl-microservice)'
9
+ s.authors = ['ScientiaMobile Inc.']
10
+ s.email = ['info@scientiamobile.com']
11
+ s.homepage = 'http://www.scientiamobile.com'
11
12
  s.require_paths = ['lib', 'vendor/jar-dependencies']
12
13
 
13
14
  s.files = Dir["lib/**/*","*.gemspec","*.md","CONTRIBUTORS","Gemfile","LICENSE","NOTICE.TXT", "vendor/jar-dependencies/**/*.jar", "vendor/jar-dependencies/**/*.rb", "VERSION", "docs/**/*"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-filter-wurfl_device_detection
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
- - Elasticsearch
7
+ - ScientiaMobile Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-17 00:00:00.000000000 Z
11
+ date: 2020-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -58,25 +58,29 @@ dependencies:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0'
61
- description: This gem is a Logstash plugin that augments stream with WURFL device
62
- detection data and is required to be installed on top of the Logstash core pipeline
63
- using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone
64
- program
61
+ description: "This gem is a Logstash plugin that augments stream with WURFL device\
62
+ \ detection data and is required to be installed on top of the Logstash core pipeline\
63
+ \ using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone\
64
+ \ program. \n Please note that this plugin requires a running instance of WURFL\
65
+ \ Microservice (https://www.scientiamobile.com/products/wurfl-microservice)"
65
66
  email:
66
- - info@elastic.co
67
+ - info@scientiamobile.com
67
68
  executables: []
68
69
  extensions: []
69
70
  extra_rdoc_files: []
70
71
  files:
72
+ - CHANGELOG.md
73
+ - CONTRIBUTORS
71
74
  - Gemfile
75
+ - LICENSE
72
76
  - README.md
73
77
  - VERSION
74
78
  - docs/index.asciidoc
75
79
  - lib/logstash-filter-wurfl_device_detection_jars.rb
76
80
  - lib/logstash/filters/wurfl_device_detection.rb
77
81
  - logstash-filter-wurfl_device_detection.gemspec
78
- - vendor/jar-dependencies/com/scientiamobile/logstash/logstash-filter-wurfl_device_detection/0.3.0/logstash-filter-wurfl_device_detection-0.3.0.jar
79
- homepage: http://www.elastic.co/guide/en/logstash/current/index.html
82
+ - vendor/jar-dependencies/com/scientiamobile/logstash/logstash-filter-wurfl_device_detection/0.4.0/logstash-filter-wurfl_device_detection-0.4.0.jar
83
+ homepage: http://www.scientiamobile.com
80
84
  licenses:
81
85
  - Apache-2.0
82
86
  metadata: