embulk-input-http 0.0.19 → 0.0.20
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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +31 -0
- data/README.md +3 -0
- data/build.gradle +17 -10
- data/example/json-example.yml +2 -0
- data/gradle/wrapper/gradle-wrapper.properties +2 -1
- data/src/main/java/org/embulk/input/http/HttpFileInputPlugin.java +10 -1
- metadata +17 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d106f68b837bc832cfdc9761b71f7489f89d0adf
|
4
|
+
data.tar.gz: 7a69f451397cd623cf2a813b82180aab8f251f12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7bbe32a099103303e3dec079292cd268e33478d08f4099ba665df167f38776b7aa0a87083367f1b19979af6df37b5c85c4cc42567d400eb4d3292b4079b388ae
|
7
|
+
data.tar.gz: be742d9cbf99f5ac7530bbafd034e551aa4db83aacd50600f124fd3f0a3ba90145bce7ba8f029c9f48380526b0e295588290cd387ba21429b4f6213c0c23c539
|
@@ -0,0 +1,31 @@
|
|
1
|
+
version: 2
|
2
|
+
jobs:
|
3
|
+
build:
|
4
|
+
docker:
|
5
|
+
- image: circleci/openjdk:8-jdk
|
6
|
+
|
7
|
+
working_directory: ~/repo
|
8
|
+
|
9
|
+
environment:
|
10
|
+
# Customize the JVM maximum heap limit
|
11
|
+
JVM_OPTS: -Xmx3200m
|
12
|
+
TERM: dumb
|
13
|
+
|
14
|
+
steps:
|
15
|
+
- checkout
|
16
|
+
|
17
|
+
# Download and cache dependencies
|
18
|
+
- restore_cache:
|
19
|
+
keys:
|
20
|
+
- v1-dependencies-{{ checksum "build.gradle" }}
|
21
|
+
- v1-dependencies-
|
22
|
+
|
23
|
+
- run: gradle dependencies
|
24
|
+
|
25
|
+
- save_cache:
|
26
|
+
paths:
|
27
|
+
- ~/.gradle
|
28
|
+
key: v1-dependencies-{{ checksum "build.gradle" }}
|
29
|
+
|
30
|
+
- run: gradle test
|
31
|
+
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# Embulk::Input::Http
|
2
2
|
|
3
|
+
[](https://circleci.com/gh/takumakanari/embulk-input-http)
|
4
|
+
|
3
5
|
Input HTTP plugin for [Embulk](https://github.com/embulk/embulk).
|
4
6
|
Fetch data via HTTP.
|
5
7
|
|
@@ -34,6 +36,7 @@ in:
|
|
34
36
|
- **method**: http method, get is used by default (optional)
|
35
37
|
- **user_agent**: the usrr agent to specify request header (optional)
|
36
38
|
- **request_headers**: the extra request headers as key-value (optional)
|
39
|
+
- **request_body**: the request body content, enabled if method is post and params are empty (optional)
|
37
40
|
- **charset**: charset to specify request header (optional, default: utf8)
|
38
41
|
- **basic_auth**: username/password for basic authentication (optional)
|
39
42
|
- **open_timeout**: timeout msec to open connection (optional, default: 2000)
|
data/build.gradle
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
plugins {
|
2
2
|
id "com.jfrog.bintray" version "1.1"
|
3
|
-
id "com.github.jruby-gradle.base" version "
|
3
|
+
id "com.github.jruby-gradle.base" version "1.5.0"
|
4
4
|
id "java"
|
5
5
|
id "checkstyle"
|
6
6
|
}
|
@@ -13,7 +13,7 @@ configurations {
|
|
13
13
|
provided
|
14
14
|
}
|
15
15
|
|
16
|
-
version = "0.0.
|
16
|
+
version = "0.0.20"
|
17
17
|
|
18
18
|
sourceCompatibility = 1.7
|
19
19
|
targetCompatibility = 1.7
|
@@ -51,23 +51,29 @@ task checkstyle(type: Checkstyle) {
|
|
51
51
|
}
|
52
52
|
|
53
53
|
task gem(type: JRubyExec, dependsOn: ["gemspec", "classpath"]) {
|
54
|
-
jrubyArgs "-
|
55
|
-
script "
|
54
|
+
jrubyArgs "-S"
|
55
|
+
script "gem"
|
56
|
+
scriptArgs "build", "${project.name}.gemspec"
|
56
57
|
doLast { ant.move(file: "${project.name}-${project.version}.gem", todir: "pkg") }
|
57
58
|
}
|
58
59
|
|
59
60
|
task gemPush(type: JRubyExec, dependsOn: ["gem"]) {
|
60
|
-
jrubyArgs "-
|
61
|
-
script "
|
61
|
+
jrubyArgs "-S"
|
62
|
+
script "gem"
|
63
|
+
scriptArgs "push", "pkg/${project.name}-${project.version}.gem"
|
62
64
|
}
|
63
65
|
|
64
|
-
task "package"(dependsOn: ["gemspec", "classpath"])
|
65
|
-
|
66
|
-
|
66
|
+
task "package"(dependsOn: ["gemspec", "classpath"]) {
|
67
|
+
doLast {
|
68
|
+
println "> Build succeeded."
|
69
|
+
println "> You can run embulk with '-L ${file(".").absolutePath}' argument."
|
70
|
+
}
|
67
71
|
}
|
68
72
|
|
69
73
|
|
70
|
-
task gemspec
|
74
|
+
task gemspec {
|
75
|
+
doLast {
|
76
|
+
file("${project.name}.gemspec").write($/
|
71
77
|
Gem::Specification.new do |spec|
|
72
78
|
spec.name = "${project.name}"
|
73
79
|
spec.version = "${project.version}"
|
@@ -85,5 +91,6 @@ Gem::Specification.new do |spec|
|
|
85
91
|
spec.add_development_dependency 'rake', ['>= 10.0']
|
86
92
|
end
|
87
93
|
/$)
|
94
|
+
}
|
88
95
|
}
|
89
96
|
clean { delete "${project.name}.gemspec" }
|
data/example/json-example.yml
CHANGED
@@ -13,6 +13,8 @@ in:
|
|
13
13
|
request_interval: 600
|
14
14
|
interval_includes_response_time: 1
|
15
15
|
request_headers: {X-Some-Key1: some-value1, X-Some-key2: some-value2}
|
16
|
+
# request_body: |
|
17
|
+
# {"field1" : "one", "field2" : 2}
|
16
18
|
pager: {from_param: from, to_param: to, pages: 10, step: 100}
|
17
19
|
# input_direct: false
|
18
20
|
parser:
|
@@ -1,5 +1,6 @@
|
|
1
|
+
#Thu Jun 21 15:19:12 JST 2018
|
1
2
|
distributionBase=GRADLE_USER_HOME
|
2
3
|
distributionPath=wrapper/dists
|
3
4
|
zipStoreBase=GRADLE_USER_HOME
|
4
5
|
zipStorePath=wrapper/dists
|
5
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-
|
6
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
|
@@ -16,6 +16,7 @@ import org.apache.http.client.methods.HttpGet;
|
|
16
16
|
import org.apache.http.client.methods.HttpPost;
|
17
17
|
import org.apache.http.client.methods.HttpRequestBase;
|
18
18
|
import org.apache.http.client.utils.URIBuilder;
|
19
|
+
import org.apache.http.entity.StringEntity;
|
19
20
|
import org.apache.http.impl.client.BasicCredentialsProvider;
|
20
21
|
import org.apache.http.impl.client.HttpClientBuilder;
|
21
22
|
import org.apache.http.message.BasicHeader;
|
@@ -106,6 +107,10 @@ public class HttpFileInputPlugin implements FileInputPlugin
|
|
106
107
|
@ConfigDefault("null")
|
107
108
|
Optional<ParamsOption> getParams();
|
108
109
|
|
110
|
+
@Config("request_body")
|
111
|
+
@ConfigDefault("null")
|
112
|
+
Optional<String> getRequestBody();
|
113
|
+
|
109
114
|
@Config("basic_auth")
|
110
115
|
@ConfigDefault("null")
|
111
116
|
Optional<BasicAuthOption> getBasicAuth();
|
@@ -268,7 +273,7 @@ public class HttpFileInputPlugin implements FileInputPlugin
|
|
268
273
|
}
|
269
274
|
return request;
|
270
275
|
}
|
271
|
-
|
276
|
+
if (task.getHttpMethod() == HttpMethod.POST) {
|
272
277
|
HttpPost request = new HttpPost(task.getUrl());
|
273
278
|
if (queries != null) {
|
274
279
|
List<NameValuePair> pairs = new ArrayList<>();
|
@@ -279,6 +284,10 @@ public class HttpFileInputPlugin implements FileInputPlugin
|
|
279
284
|
}
|
280
285
|
request.setEntity(new UrlEncodedFormEntity(pairs));
|
281
286
|
}
|
287
|
+
else if (task.getRequestBody().isPresent()) {
|
288
|
+
logger.info(new StringEntity(task.getRequestBody().get()).toString());
|
289
|
+
request.setEntity(new StringEntity(task.getRequestBody().get()));
|
290
|
+
}
|
282
291
|
return request;
|
283
292
|
}
|
284
293
|
throw new IllegalArgumentException(String.format("Unsupported http method %s", task.getMethod()));
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embulk-input-http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takuma kanari
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- - ~>
|
16
|
+
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
18
|
version: '1.0'
|
19
19
|
name: bundler
|
@@ -21,13 +21,13 @@ dependencies:
|
|
21
21
|
type: :development
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '10.0'
|
33
33
|
name: rake
|
@@ -35,7 +35,7 @@ dependencies:
|
|
35
35
|
type: :development
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
description: Fetch data via http
|
@@ -45,10 +45,17 @@ executables: []
|
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
47
47
|
files:
|
48
|
-
- .
|
48
|
+
- ".circleci/config.yml"
|
49
|
+
- ".gitignore"
|
49
50
|
- LICENSE.txt
|
50
51
|
- README.md
|
51
52
|
- build.gradle
|
53
|
+
- classpath/commons-codec-1.10.jar
|
54
|
+
- classpath/commons-io-2.6.jar
|
55
|
+
- classpath/commons-logging-1.2.jar
|
56
|
+
- classpath/embulk-input-http-0.0.20.jar
|
57
|
+
- classpath/httpclient-4.5.5.jar
|
58
|
+
- classpath/httpcore-4.4.9.jar
|
52
59
|
- config/checkstyle/checkstyle.xml
|
53
60
|
- config/checkstyle/default.xml
|
54
61
|
- example/json-example.yml
|
@@ -68,12 +75,6 @@ files:
|
|
68
75
|
- src/test/java/org/embulk/input/http/TestPagerOption.java
|
69
76
|
- src/test/java/org/embulk/input/http/TestParamsOption.java
|
70
77
|
- src/test/java/org/embulk/input/http/TestQueryOption.java
|
71
|
-
- classpath/commons-codec-1.10.jar
|
72
|
-
- classpath/commons-io-2.6.jar
|
73
|
-
- classpath/commons-logging-1.2.jar
|
74
|
-
- classpath/embulk-input-http-0.0.19.jar
|
75
|
-
- classpath/httpclient-4.5.5.jar
|
76
|
-
- classpath/httpcore-4.4.9.jar
|
77
78
|
homepage: https://github.com/takumakanari/embulk-input-http
|
78
79
|
licenses:
|
79
80
|
- MIT
|
@@ -84,17 +85,17 @@ require_paths:
|
|
84
85
|
- lib
|
85
86
|
required_ruby_version: !ruby/object:Gem::Requirement
|
86
87
|
requirements:
|
87
|
-
- -
|
88
|
+
- - ">="
|
88
89
|
- !ruby/object:Gem::Version
|
89
90
|
version: '0'
|
90
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
92
|
requirements:
|
92
|
-
- -
|
93
|
+
- - ">="
|
93
94
|
- !ruby/object:Gem::Version
|
94
95
|
version: '0'
|
95
96
|
requirements: []
|
96
97
|
rubyforge_project:
|
97
|
-
rubygems_version: 2.
|
98
|
+
rubygems_version: 2.6.8
|
98
99
|
signing_key:
|
99
100
|
specification_version: 4
|
100
101
|
summary: Embulk plugin for http input
|