Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica
提交
a92765c9
mica
项目概览
mica
/
mica
通知
10
Star
2
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
mica
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a92765c9
编写于
6月 17, 2019
作者:
如梦技术
🐛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🔧
mica-okhttp 调整为 mica-http.
上级
bd49eb04
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
146 addition
and
89 deletion
+146
-89
README.md
README.md
+2
-2
mica-bom/README.md
mica-bom/README.md
+1
-1
mica-bom/build.gradle
mica-bom/build.gradle
+1
-1
mica-http/README.md
mica-http/README.md
+5
-5
mica-http/build.gradle
mica-http/build.gradle
+0
-0
mica-http/src/main/java/net/dreamlu/http/BaseAuthenticator.java
...ttp/src/main/java/net/dreamlu/http/BaseAuthenticator.java
+42
-0
mica-http/src/main/java/net/dreamlu/http/FormBuilder.java
mica-http/src/main/java/net/dreamlu/http/FormBuilder.java
+7
-7
mica-http/src/main/java/net/dreamlu/http/HttpRequest.java
mica-http/src/main/java/net/dreamlu/http/HttpRequest.java
+64
-49
mica-http/src/main/java/net/dreamlu/http/HttpResponse.java
mica-http/src/main/java/net/dreamlu/http/HttpResponse.java
+2
-2
mica-http/src/main/java/net/dreamlu/http/Method.java
mica-http/src/main/java/net/dreamlu/http/Method.java
+1
-1
mica-http/src/main/java/net/dreamlu/http/MultipartFormBuilder.java
.../src/main/java/net/dreamlu/http/MultipartFormBuilder.java
+13
-13
mica-http/src/main/java/net/dreamlu/http/Slf4jLogger.java
mica-http/src/main/java/net/dreamlu/http/Slf4jLogger.java
+0
-0
mica-http/src/test/java/net/dreamlu/HttpRequestDemo.java
mica-http/src/test/java/net/dreamlu/HttpRequestDemo.java
+7
-7
settings.gradle
settings.gradle
+1
-1
未找到文件。
README.md
浏览文件 @
a92765c9
...
...
@@ -32,8 +32,8 @@
-
Jaskson Read Write HttpMessageConverter,分读写的消息转换器。
-
Spring 枚举转换器,规则同 Jackson。
### mica-
ok
http
-
`
okhttp`
的简单 http 工具包,语法参考 HttpClient Fluent API
### mica-http
-
`
mica-http`
是
`okhttp`
的封装,Fluent 语法的 http 工具包,语法参考 HttpClient Fluent API。
### mica-launcher
-
项目启动器
...
...
mica-bom/README.md
浏览文件 @
a92765c9
...
...
@@ -36,7 +36,7 @@ net.dreamlu
`artifactId`
:
```
text
mica-core
mica-
ok
http
mica-http
mica-launcher
mica-log4j2
mica-boot
...
...
mica-bom/build.gradle
浏览文件 @
a92765c9
...
...
@@ -16,7 +16,7 @@ dependencyManagement {
// mica
dependency
"net.dreamlu:mica-auto:${micaAutoVersion}"
dependency
"net.dreamlu:mica-core:${VERSION}"
dependency
"net.dreamlu:mica-
ok
http:${VERSION}"
dependency
"net.dreamlu:mica-http:${VERSION}"
dependency
"net.dreamlu:mica-launcher:${VERSION}"
dependency
"net.dreamlu:mica-log4j2:${VERSION}"
dependency
"net.dreamlu:mica-boot:${VERSION}"
...
...
mica-
ok
http/README.md
→
mica-http/README.md
浏览文件 @
a92765c9
# mica-okhttp
`mica-
okhttp`
是基于
`okhttp`
的简单 http 工具包,语法参考 HttpClient Fluent API(fluent-hc)
。
`mica-
http`
是
`okhttp`
的封装,Fluent 语法的 http 工具包,语法参考 HttpClient Fluent API
。
## 使用
### maven
```
xml
<dependency>
<groupId>
net.dreamlu
</groupId>
<artifactId>
mica-
ok
http
</artifactId>
<artifactId>
mica-http
</artifactId>
<version>
${version}
</version>
</dependency>
```
### gradle
```
groovy
compile
(
"net.dreamlu:mica-
ok
http:${version}"
)
compile
(
"net.dreamlu:mica-http:${version}"
)
```
### 示例代码
```
java
private
String
getUserEmail
(
String
accessToken
)
{
return
X
Request
.
get
(
"https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))"
)
return
Http
Request
.
get
(
"https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))"
)
.
addHeader
(
"Host"
,
"api.linkedin.com"
)
.
addHeader
(
"Connection"
,
"Keep-Alive"
)
.
addHeader
(
"Authorization"
,
"Bearer "
+
accessToken
)
...
...
@@ -31,7 +31,7 @@ private String getUserEmail(String accessToken) {
}
public
static
void
test
()
{
X
Request
.
post
(
"https://www.baidu.com/do-stuff"
)
Http
Request
.
post
(
"https://www.baidu.com/do-stuff"
)
.
log
(
HttpLoggingInterceptor
.
Level
.
BASIC
)
.
formBuilder
()
.
add
(
"a"
,
"b"
)
...
...
mica-
ok
http/build.gradle
→
mica-http/build.gradle
浏览文件 @
a92765c9
文件已移动
mica-http/src/main/java/net/dreamlu/http/BaseAuthenticator.java
0 → 100644
浏览文件 @
a92765c9
/*
* Copyright (c) 2019-2029, Dreamlu (596392912@qq.com & www.dreamlu.net).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
net.dreamlu.http
;
import
lombok.RequiredArgsConstructor
;
import
okhttp3.*
;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
/**
* BaseAuth
*
* @author L.cm
*/
@RequiredArgsConstructor
public
class
BaseAuthenticator
implements
Authenticator
{
private
final
String
userName
;
private
final
String
password
;
@Override
public
Request
authenticate
(
Route
route
,
Response
response
)
throws
IOException
{
String
credential
=
Credentials
.
basic
(
userName
,
password
,
StandardCharsets
.
UTF_8
);
return
response
.
request
().
newBuilder
()
.
header
(
"Authorization"
,
credential
)
.
build
();
}
}
mica-
okhttp/src/main/java/net/dreamlu/http/X
FormBuilder.java
→
mica-
http/src/main/java/net/dreamlu/http/
FormBuilder.java
浏览文件 @
a92765c9
...
...
@@ -23,32 +23,32 @@ import okhttp3.FormBody;
*
* @author L.cm
*/
public
class
X
FormBuilder
{
private
final
X
Request
request
;
public
class
FormBuilder
{
private
final
Http
Request
request
;
private
final
FormBody
.
Builder
formBuilder
;
XFormBuilder
(
X
Request
request
)
{
FormBuilder
(
Http
Request
request
)
{
this
.
request
=
request
;
this
.
formBuilder
=
new
FormBody
.
Builder
();
}
public
X
FormBuilder
add
(
String
name
,
String
value
)
{
public
FormBuilder
add
(
String
name
,
String
value
)
{
this
.
formBuilder
.
add
(
name
,
value
);
return
this
;
}
public
X
FormBuilder
addEncoded
(
String
name
,
String
value
)
{
public
FormBuilder
addEncoded
(
String
name
,
String
value
)
{
this
.
formBuilder
.
addEncoded
(
name
,
value
);
return
this
;
}
public
X
Request
build
()
{
public
Http
Request
build
()
{
FormBody
formBody
=
formBuilder
.
build
();
this
.
request
.
form
(
formBody
);
return
this
.
request
;
}
public
X
Response
execute
()
{
public
Http
Response
execute
()
{
return
this
.
build
().
execute
();
}
}
mica-
okhttp/src/main/java/net/dreamlu/http/X
Request.java
→
mica-
http/src/main/java/net/dreamlu/http/Http
Request.java
浏览文件 @
a92765c9
...
...
@@ -27,6 +27,7 @@ import java.net.InetSocketAddress;
import
java.net.Proxy
;
import
java.net.URI
;
import
java.time.Duration
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
/**
...
...
@@ -34,7 +35,7 @@ import java.util.concurrent.TimeUnit;
*
* @author L.cm
*/
public
class
X
Request
{
public
class
Http
Request
{
private
static
final
String
DEFAULT_USER_AGENT
=
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
;
private
static
OkHttpClient
httpClient
=
new
OkHttpClient
();
private
final
Request
.
Builder
requestBuilder
;
...
...
@@ -45,103 +46,104 @@ public class XRequest {
private
Boolean
followRedirects
;
private
HttpLoggingInterceptor
.
Level
level
;
private
Interceptor
interceptor
;
private
Authenticator
authenticator
;
private
Duration
connectTimeout
;
private
Duration
readTimeout
;
private
Duration
writeTimeout
;
private
Proxy
proxy
;
public
static
X
Request
get
(
final
String
url
)
{
public
static
Http
Request
get
(
final
String
url
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUriString
(
url
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
GET
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
GET
);
}
public
static
X
Request
get
(
final
URI
uri
)
{
public
static
Http
Request
get
(
final
URI
uri
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUri
(
uri
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
GET
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
GET
);
}
public
static
X
Request
post
(
final
String
url
)
{
public
static
Http
Request
post
(
final
String
url
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUriString
(
url
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
POST
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
POST
);
}
public
static
X
Request
post
(
final
URI
uri
)
{
public
static
Http
Request
post
(
final
URI
uri
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUri
(
uri
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
POST
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
POST
);
}
public
static
X
Request
patch
(
final
String
url
)
{
public
static
Http
Request
patch
(
final
String
url
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUriString
(
url
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
PATCH
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
PATCH
);
}
public
static
X
Request
patch
(
final
URI
uri
)
{
public
static
Http
Request
patch
(
final
URI
uri
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUri
(
uri
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
PATCH
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
PATCH
);
}
public
static
X
Request
put
(
final
String
url
)
{
public
static
Http
Request
put
(
final
String
url
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUriString
(
url
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
PUT
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
PUT
);
}
public
static
X
Request
put
(
final
URI
uri
)
{
public
static
Http
Request
put
(
final
URI
uri
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUri
(
uri
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
PUT
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
PUT
);
}
public
static
X
Request
delete
(
final
String
url
)
{
public
static
Http
Request
delete
(
final
String
url
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUriString
(
url
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
DELETE
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
DELETE
);
}
public
static
X
Request
delete
(
final
URI
uri
)
{
public
static
Http
Request
delete
(
final
URI
uri
)
{
UriComponentsBuilder
uriBuilder
=
UriComponentsBuilder
.
fromUri
(
uri
);
return
new
XRequest
(
new
Request
.
Builder
(),
uriBuilder
,
X
Method
.
DELETE
);
return
new
HttpRequest
(
new
Request
.
Builder
(),
uriBuilder
,
Method
.
DELETE
);
}
private
static
RequestBody
emptyBody
()
{
return
RequestBody
.
create
(
null
,
new
byte
[
0
]);
}
public
X
Request
query
(
String
name
,
Object
...
values
)
{
public
Http
Request
query
(
String
name
,
Object
...
values
)
{
this
.
uriBuilder
.
queryParam
(
name
,
values
);
return
this
;
}
X
Request
form
(
FormBody
formBody
)
{
Http
Request
form
(
FormBody
formBody
)
{
this
.
requestBody
=
formBody
;
return
this
;
}
XRequest
formPart
(
MultipartBody
multipartBody
)
{
HttpRequest
multipartForm
(
MultipartBody
multipartBody
)
{
this
.
requestBody
=
multipartBody
;
return
this
;
}
public
X
FormBuilder
formBuilder
()
{
return
new
X
FormBuilder
(
this
);
public
FormBuilder
formBuilder
()
{
return
new
FormBuilder
(
this
);
}
public
XFormPartBuilder
formPart
Builder
()
{
return
new
XFormPart
Builder
(
this
);
public
MultipartFormBuilder
multipartForm
Builder
()
{
return
new
MultipartForm
Builder
(
this
);
}
public
X
Request
body
(
RequestBody
requestBody
)
{
public
Http
Request
body
(
RequestBody
requestBody
)
{
this
.
requestBody
=
requestBody
;
return
this
;
}
public
X
Request
bodyString
(
String
body
)
{
public
Http
Request
bodyString
(
String
body
)
{
this
.
requestBody
=
RequestBody
.
create
(
null
,
body
);
return
this
;
}
public
X
Request
bodyJson
(
Object
body
)
{
public
Http
Request
bodyJson
(
Object
body
)
{
return
bodyString
(
JsonUtil
.
toJson
(
body
));
}
private
X
Request
(
final
Request
.
Builder
requestBuilder
,
UriComponentsBuilder
uriBuilder
,
String
httpMethod
)
{
private
Http
Request
(
final
Request
.
Builder
requestBuilder
,
UriComponentsBuilder
uriBuilder
,
String
httpMethod
)
{
this
.
requestBuilder
=
requestBuilder
;
this
.
uriBuilder
=
uriBuilder
;
this
.
httpMethod
=
httpMethod
;
...
...
@@ -167,6 +169,9 @@ public class XRequest {
loggingInterceptor
.
setLevel
(
level
);
builder
.
addInterceptor
(
loggingInterceptor
);
}
if
(
this
.
authenticator
!=
null
)
{
builder
.
authenticator
(
authenticator
);
}
if
(
this
.
interceptor
!=
null
)
{
builder
.
addInterceptor
(
this
.
interceptor
);
}
...
...
@@ -187,83 +192,93 @@ public class XRequest {
return
builder
.
build
().
newCall
(
request
).
execute
();
}
public
X
Response
execute
()
{
public
Http
Response
execute
()
{
try
{
return
new
X
Response
(
internalExecute
(
httpClient
));
return
new
Http
Response
(
internalExecute
(
httpClient
));
}
catch
(
IOException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
public
HttpRequest
baseAuth
(
String
userName
,
String
password
)
{
this
.
authenticator
=
new
BaseAuthenticator
(
userName
,
password
);
return
this
;
}
//// HTTP header operations
public
XRequest
addHeader
(
final
String
...
namesAndValues
)
{
public
HttpRequest
addHeader
(
final
Map
<
String
,
String
>
headers
)
{
this
.
requestBuilder
.
headers
(
Headers
.
of
(
headers
));
return
this
;
}
public
HttpRequest
addHeader
(
final
String
...
namesAndValues
)
{
Headers
headers
=
Headers
.
of
(
namesAndValues
);
this
.
requestBuilder
.
headers
(
headers
);
return
this
;
}
public
X
Request
addHeader
(
final
String
name
,
final
String
value
)
{
public
Http
Request
addHeader
(
final
String
name
,
final
String
value
)
{
this
.
requestBuilder
.
addHeader
(
name
,
value
);
return
this
;
}
public
X
Request
setHeader
(
final
String
name
,
final
String
value
)
{
public
Http
Request
setHeader
(
final
String
name
,
final
String
value
)
{
this
.
requestBuilder
.
header
(
name
,
value
);
return
this
;
}
public
X
Request
removeHeader
(
final
String
name
)
{
public
Http
Request
removeHeader
(
final
String
name
)
{
this
.
requestBuilder
.
removeHeader
(
name
);
return
this
;
}
public
X
Request
cacheControl
(
final
CacheControl
cacheControl
)
{
public
Http
Request
cacheControl
(
final
CacheControl
cacheControl
)
{
this
.
requestBuilder
.
cacheControl
(
cacheControl
);
return
this
;
}
public
X
Request
userAgent
(
final
String
userAgent
)
{
public
Http
Request
userAgent
(
final
String
userAgent
)
{
this
.
userAgent
=
userAgent
;
return
this
;
}
public
X
Request
followRedirects
(
boolean
followRedirects
)
{
public
Http
Request
followRedirects
(
boolean
followRedirects
)
{
this
.
followRedirects
=
followRedirects
;
return
this
;
}
public
X
Request
log
()
{
public
Http
Request
log
()
{
this
.
level
=
HttpLoggingInterceptor
.
Level
.
BODY
;
return
this
;
}
public
X
Request
log
(
HttpLoggingInterceptor
.
Level
level
)
{
public
Http
Request
log
(
HttpLoggingInterceptor
.
Level
level
)
{
this
.
level
=
level
;
return
this
;
}
public
X
Request
interceptor
(
Interceptor
interceptor
)
{
public
Http
Request
interceptor
(
Interceptor
interceptor
)
{
this
.
interceptor
=
interceptor
;
return
this
;
}
//// HTTP connection parameter operations
public
X
Request
connectTimeout
(
final
Duration
timeout
)
{
public
Http
Request
connectTimeout
(
final
Duration
timeout
)
{
this
.
connectTimeout
=
timeout
;
return
this
;
}
public
X
Request
readTimeout
(
Duration
readTimeout
)
{
public
Http
Request
readTimeout
(
Duration
readTimeout
)
{
this
.
readTimeout
=
readTimeout
;
return
this
;
}
public
X
Request
writeTimeout
(
Duration
writeTimeout
)
{
public
Http
Request
writeTimeout
(
Duration
writeTimeout
)
{
this
.
writeTimeout
=
writeTimeout
;
return
this
;
}
public
X
Request
viaProxy
(
final
InetSocketAddress
address
)
{
public
Http
Request
viaProxy
(
final
InetSocketAddress
address
)
{
this
.
proxy
=
new
Proxy
(
Proxy
.
Type
.
HTTP
,
address
);
return
this
;
}
...
...
@@ -274,6 +289,6 @@ public class XRequest {
}
public
static
void
setHttpClient
(
OkHttpClient
httpClient
)
{
X
Request
.
httpClient
=
httpClient
;
Http
Request
.
httpClient
=
httpClient
;
}
}
mica-
okhttp/src/main/java/net/dreamlu/http/X
Response.java
→
mica-
http/src/main/java/net/dreamlu/http/Http
Response.java
浏览文件 @
a92765c9
...
...
@@ -37,11 +37,11 @@ import java.util.Map;
*
* @author L.cm
*/
public
class
X
Response
{
public
class
Http
Response
{
private
final
Response
response
;
private
final
ResponseBody
body
;
X
Response
(
final
Response
response
)
{
Http
Response
(
final
Response
response
)
{
this
.
response
=
response
;
this
.
body
=
response
.
body
();
}
...
...
mica-
okhttp/src/main/java/net/dreamlu/http/X
Method.java
→
mica-
http/src/main/java/net/dreamlu/http/
Method.java
浏览文件 @
a92765c9
...
...
@@ -21,7 +21,7 @@ package net.dreamlu.http;
*
* @author dream.lu
*/
public
interface
X
Method
{
public
interface
Method
{
String
GET
=
"GET"
;
String
POST
=
"POST"
;
String
PATCH
=
"PATCH"
;
...
...
mica-
okhttp/src/main/java/net/dreamlu/http/XFormPart
Builder.java
→
mica-
http/src/main/java/net/dreamlu/http/MultipartForm
Builder.java
浏览文件 @
a92765c9
...
...
@@ -26,58 +26,58 @@ import java.io.File;
*
* @author L.cm
*/
public
class
XFormPart
Builder
{
private
final
X
Request
request
;
public
class
MultipartForm
Builder
{
private
final
Http
Request
request
;
private
final
MultipartBody
.
Builder
formBuilder
;
XFormPartBuilder
(
X
Request
request
)
{
MultipartFormBuilder
(
Http
Request
request
)
{
this
.
request
=
request
;
this
.
formBuilder
=
new
MultipartBody
.
Builder
();
}
public
XFormPart
Builder
add
(
String
name
,
String
value
)
{
public
MultipartForm
Builder
add
(
String
name
,
String
value
)
{
this
.
formBuilder
.
addFormDataPart
(
name
,
value
);
return
this
;
}
public
XFormPart
Builder
add
(
String
name
,
File
file
)
{
public
MultipartForm
Builder
add
(
String
name
,
File
file
)
{
String
fileName
=
file
.
getName
();
return
add
(
name
,
fileName
,
file
);
}
public
XFormPart
Builder
add
(
String
name
,
@Nullable
String
filename
,
File
file
)
{
public
MultipartForm
Builder
add
(
String
name
,
@Nullable
String
filename
,
File
file
)
{
RequestBody
fileBody
=
RequestBody
.
create
(
null
,
file
);
return
add
(
name
,
filename
,
fileBody
);
}
public
XFormPart
Builder
add
(
String
name
,
@Nullable
String
filename
,
RequestBody
fileBody
)
{
public
MultipartForm
Builder
add
(
String
name
,
@Nullable
String
filename
,
RequestBody
fileBody
)
{
this
.
formBuilder
.
addFormDataPart
(
name
,
filename
,
fileBody
);
return
this
;
}
public
XFormPart
Builder
add
(
RequestBody
body
)
{
public
MultipartForm
Builder
add
(
RequestBody
body
)
{
this
.
formBuilder
.
addPart
(
body
);
return
this
;
}
public
XFormPart
Builder
add
(
@Nullable
Headers
headers
,
RequestBody
body
)
{
public
MultipartForm
Builder
add
(
@Nullable
Headers
headers
,
RequestBody
body
)
{
this
.
formBuilder
.
addPart
(
headers
,
body
);
return
this
;
}
public
XFormPart
Builder
add
(
MultipartBody
.
Part
part
)
{
public
MultipartForm
Builder
add
(
MultipartBody
.
Part
part
)
{
this
.
formBuilder
.
addPart
(
part
);
return
this
;
}
public
X
Request
build
()
{
public
Http
Request
build
()
{
formBuilder
.
setType
(
MultipartBody
.
FORM
);
MultipartBody
formBody
=
formBuilder
.
build
();
this
.
request
.
formPart
(
formBody
);
this
.
request
.
multipartForm
(
formBody
);
return
this
.
request
;
}
public
X
Response
execute
()
{
public
Http
Response
execute
()
{
return
this
.
build
().
execute
();
}
}
mica-
ok
http/src/main/java/net/dreamlu/http/Slf4jLogger.java
→
mica-http/src/main/java/net/dreamlu/http/Slf4jLogger.java
浏览文件 @
a92765c9
文件已移动
mica-
okhttp/src/test/java/net/dreamlu/XRequests
.java
→
mica-
http/src/test/java/net/dreamlu/HttpRequestDemo
.java
浏览文件 @
a92765c9
...
...
@@ -17,19 +17,19 @@
package
net.dreamlu
;
import
okhttp3.logging.HttpLoggingInterceptor
;
import
net.dreamlu.http.
X
Request
;
import
net.dreamlu.http.
X
Response
;
import
net.dreamlu.http.
Http
Request
;
import
net.dreamlu.http.
Http
Response
;
import
java.time.Duration
;
/**
* This example of mica http
*/
public
class
XRequests
{
public
class
HttpRequestDemo
{
public
static
void
main
(
String
[]
args
)
{
// Execute a GET with timeout settings and return response content as String.
X
Request
.
get
(
"https://www.baidu.com/"
)
Http
Request
.
get
(
"https://www.baidu.com/"
)
.
connectTimeout
(
Duration
.
ofSeconds
(
1000
))
.
log
()
.
query
(
"test"
,
"a"
,
"b"
,
"c"
)
...
...
@@ -40,7 +40,7 @@ public class XRequests {
// Execute a POST with the 'expect-continue' handshake, using HTTP/1.1,
// containing a request body as String and return response content as byte array.
X
Request
.
post
(
"https://www.baidu.com/do-stuff"
)
Http
Request
.
post
(
"https://www.baidu.com/do-stuff"
)
.
log
(
HttpLoggingInterceptor
.
Level
.
BASIC
)
.
bodyString
(
"Important stuff"
)
.
formBuilder
()
...
...
@@ -49,11 +49,11 @@ public class XRequests {
// Execute a POST with a custom header through the proxy containing a request body
// as an HTML form and save the result to the file
XResponse
xResponse
=
X
Request
.
post
(
"https://www.baidu.com/some-form"
)
HttpResponse
httpResponse
=
Http
Request
.
post
(
"https://www.baidu.com/some-form"
)
.
log
(
HttpLoggingInterceptor
.
Level
.
HEADERS
)
.
addHeader
(
"X-Custom-header"
,
"stuff"
)
.
execute
();
System
.
out
.
println
(
x
Response
);
System
.
out
.
println
(
http
Response
);
}
}
settings.gradle
浏览文件 @
a92765c9
rootProject
.
name
=
"mica"
include
"mica-bom"
include
"mica-core"
include
"mica-
ok
http"
include
"mica-http"
include
"mica-launcher"
include
"mica-log4j2"
include
"mica-boot"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录