Modifier and Type | Method and Description |
---|---|
static HttpRequest |
HttpRequestDecoder.decode(ByteBuffer buffer,
int limit,
int position,
int readableLength,
ChannelContext channelContext,
HttpConfig httpConfig) |
HttpRequest |
HttpResponse.getHttpRequest() |
Modifier and Type | Method and Description |
---|---|
static HttpResponse |
HttpResponse.cloneResponse(HttpRequest request,
HttpResponse response) |
static void |
HttpMultiBodyDecoder.decode(HttpRequest request,
RequestLine firstLine,
byte[] bodyBytes,
String initboundary,
ChannelContext channelContext,
HttpConfig httpConfig) |
String |
HttpConfig.getPageRoot(HttpRequest request) |
HttpResource |
HttpConfig.getResource(HttpRequest request,
String path) |
static HttpMultiBodyDecoder.Step |
HttpMultiBodyDecoder.parseBody(HttpMultiBodyDecoder.Header header,
HttpRequest request,
ByteBuffer buffer,
String boundary,
String endBoundary,
ChannelContext channelContext,
HttpConfig httpConfig) |
static void |
HttpRequestDecoder.parseBodyFormat(HttpRequest httpRequest,
Map<String,String> headers)
Content-Type : application/x-www-form-urlencoded; charset=UTF-8
Content-Type : application/x-www-form-urlencoded; charset=UTF-8
|
void |
HttpResponse.setHttpRequestPacket(HttpRequest request) |
Constructor and Description |
---|
HttpResponse(HttpRequest request) |
Modifier and Type | Method and Description |
---|---|
HttpConfig |
HttpRequestHandler.getHttpConfig(HttpRequest request) |
HttpResponse |
HttpRequestHandler.handler(HttpRequest packet)
处理请求
|
HttpResponse |
HttpRequestHandler.resp404(HttpRequest request,
RequestLine requestLine)
响应404
|
HttpResponse |
HttpRequestHandler.resp500(HttpRequest request,
RequestLine requestLine,
Throwable throwable)
响应500
|
Modifier and Type | Method and Description |
---|---|
String |
ISessionIdGenerator.sessionId(HttpConfig httpConfig,
HttpRequest request) |
Modifier and Type | Method and Description |
---|---|
String |
UUIDSessionIdGenerator.sessionId(HttpConfig httpConfig,
HttpRequest request) |
String |
SnowflakeSessionIdGenerator.sessionId(HttpConfig httpConfig,
HttpRequest request) |
Modifier and Type | Method and Description |
---|---|
boolean |
SessionRateLimiter.allow(HttpRequest request,
SessionRateVo sessionRateVo)
是否允许访问,true:允许访问,false:不允许访问
|
HttpResponse |
SessionRateLimiter.response(HttpRequest request,
SessionRateVo sessionRateVo)
当被限流后,返回给用户的HttpResponse
如果返回null,则会断开连接
|
Modifier and Type | Method and Description |
---|---|
static String |
IpUtils.getRealIp(HttpRequest request) |
static void |
HttpGzipUtils.gzip(HttpRequest request,
HttpResponse response) |
Modifier and Type | Method and Description |
---|---|
Object |
ModelGenerator.generate(HttpRequest request) |
HttpResponse |
View.render(String path,
HttpRequest request) |
Modifier and Type | Method and Description |
---|---|
freemarker.template.Configuration |
FreemarkerConfig.getConfiguration(HttpRequest request) |
Modifier and Type | Method and Description |
---|---|
HttpRequest |
HttpServerAioHandler.decode(ByteBuffer buffer,
int limit,
int position,
int readableLength,
ChannelContext channelContext) |
Modifier and Type | Method and Description |
---|---|
HttpResponse |
FileCache.cloneResponse(HttpRequest request) |
HttpSession |
DefaultHttpRequestHandler.createSession(HttpRequest request)
创建httpsession
|
static String |
DefaultHttpRequestHandler.getDomain(HttpRequest request) |
HttpConfig |
DispatcheHttpRequestHandler.getHttpConfig(HttpRequest request) |
HttpConfig |
DefaultHttpRequestHandler.getHttpConfig(HttpRequest request) |
abstract HttpRequestHandler |
DispatcheHttpRequestHandler.getHttpRequestHandler(HttpRequest request) |
static Cookie |
DefaultHttpRequestHandler.getSessionCookie(HttpRequest request,
HttpConfig httpConfig) |
static String |
DefaultHttpRequestHandler.getSessionId(HttpRequest request) |
HttpResponse |
DispatcheHttpRequestHandler.handler(HttpRequest request) |
HttpResponse |
DefaultHttpRequestHandler.handler(HttpRequest request) |
HttpResponse |
DispatcheHttpRequestHandler.resp404(HttpRequest request,
RequestLine requestLine) |
HttpResponse |
DefaultHttpRequestHandler.resp404(HttpRequest request,
RequestLine requestLine) |
HttpResponse |
DispatcheHttpRequestHandler.resp500(HttpRequest request,
RequestLine requestLine,
Throwable throwable) |
HttpResponse |
DefaultHttpRequestHandler.resp500(HttpRequest request,
RequestLine requestLine,
Throwable throwable) |
HttpSession |
DefaultHttpRequestHandler.updateSessionId(HttpRequest request,
HttpSession httpSession,
HttpResponse httpResponse)
更新sessionId
|
Modifier and Type | Method and Description |
---|---|
void |
HttpSessionListener.doAfterCreated(HttpRequest request,
HttpSession session,
HttpConfig httpConfig) |
void |
HttpServerInterceptor.doAfterHandler(HttpRequest request,
RequestLine requestLine,
HttpResponse response,
long cost)
在执行org.tio.http.server.handler.IHttpRequestHandler.handler()后会调用此方法,业务层可以统一在这里给HttpResponse作一些修饰
|
HttpResponse |
HttpServerInterceptor.doBeforeHandler(HttpRequest request,
RequestLine requestLine,
HttpResponse responseFromCache)
在执行org.tio.http.server.handler.IHttpRequestHandler.handler()前会先调用这个方法
如果返回了HttpResponse对象,则后续都不再执行,表示调用栈就此结束 |
String |
CurrUseridGetter.getUserid(HttpRequest request)
根据HttpRequest获取当前用户的userid
|
HttpResponse |
ThrowableHandler.handler(HttpRequest request,
RequestLine requestLine,
Throwable throwable) |
Modifier and Type | Method and Description |
---|---|
Method |
Routes.getMethodByPath(String path,
HttpRequest request) |
Modifier and Type | Method and Description |
---|---|
void |
DomainMappingSessionCookieDecorator.decorate(Cookie sessionCookie,
HttpRequest request,
String domain) |
void |
SessionCookieDecorator.decorate(Cookie sessionCookie,
HttpRequest request,
String domain)
DefaultHttpRequestHandler根据host字段创建了用于session的cookie,用户可以通过本方法定制一下Cookie,
譬如把cookie的域名由www.baidu.com改成.baidu.com
|
void |
DomainSessionCookieDecorator.decorate(Cookie sessionCookie,
HttpRequest request,
String domain) |
void |
HttpSessionListener.doAfterCreated(HttpRequest request,
HttpSession session,
HttpConfig httpConfig) |
Modifier and Type | Method and Description |
---|---|
boolean |
DefaultStatPathFilter.filter(String path,
HttpRequest request,
HttpResponse response) |
boolean |
StatPathFilter.filter(String path,
HttpRequest request,
HttpResponse response) |
Modifier and Type | Method and Description |
---|---|
boolean |
IpPathAccessStatListener.onChanged(HttpRequest httpRequest,
String ip,
String path,
IpAccessStat ipAccessStat,
IpPathAccessStat ipPathAccessStat) |
Modifier and Type | Method and Description |
---|---|
String |
DefaultTokenGetter.getToken(HttpRequest request) |
String |
TokenGetter.getToken(HttpRequest request)
根据HttpRequest对象获取业务上的token
|
boolean |
TokenPathAccessStatListener.onChanged(HttpRequest httpRequest,
String token,
String path,
TokenAccessStat tokenAccessStat,
TokenPathAccessStat tokenPathAccessStat) |
Modifier and Type | Method and Description |
---|---|
static HttpResponse |
Resps.bytes(HttpRequest request,
byte[] bodyBytes,
String extension)
根据byte[]创建响应
|
static HttpResponse |
Resps.bytesWithContentType(HttpRequest request,
byte[] bodyBytes,
String contentType) |
static HttpResponse |
Resps.bytesWithHeaders(HttpRequest request,
byte[] bodyBytes,
Map<HeaderName,HeaderValue> headers) |
static HttpResponse |
Resps.css(HttpRequest request,
String bodyString)
构建css响应
Content-Type: text/css;charset=utf-8
|
static HttpResponse |
Resps.css(HttpRequest request,
String bodyString,
String charset)
构建css响应
Content-Type: text/css;charset=utf-8
|
static HttpResponse |
Resps.file(HttpRequest request,
File fileOnServer)
根据文件创建响应
|
static HttpResponse |
Resps.file(HttpRequest request,
String path) |
static HttpResponse |
Resps.forward(HttpRequest request,
String newPath) |
static HttpResponse |
Resps.html(HttpRequest request,
String bodyString) |
static HttpResponse |
Resps.html(HttpRequest request,
String bodyString,
String charset)
Content-Type: text/html;charset=utf-8
|
static HttpResponse |
Resps.js(HttpRequest request,
String bodyString)
Content-Type: application/javascript;charset=utf-8
|
static HttpResponse |
Resps.js(HttpRequest request,
String bodyString,
String charset)
Content-Type: application/javascript;charset=utf-8
|
static HttpResponse |
Resps.json(HttpRequest request,
Object body)
Content-Type: application/json;charset=utf-8
|
static HttpResponse |
Resps.json(HttpRequest request,
Object body,
String charset)
Content-Type: application/json;charset=utf-8
|
static HttpResponse |
Resps.redirect(HttpRequest request,
String path)
重定向
|
static HttpResponse |
Resps.redirect(HttpRequest request,
String path,
HttpResponseStatus status) |
static HttpResponse |
Resps.redirectForever(HttpRequest request,
String path)
永久重定向
|
static HttpResponse |
Resps.redirectWithPage(HttpRequest request,
String path)
用页面重定向
|
static HttpResponse |
Resps.resp404(HttpRequest request) |
static HttpResponse |
Resps.resp404(HttpRequest request,
RequestLine requestLine,
HttpConfig httpConfig) |
static HttpResponse |
Resps.resp500(HttpRequest request,
RequestLine requestLine,
HttpConfig httpConfig,
Throwable throwable) |
static HttpResponse |
Resps.resp500(HttpRequest request,
Throwable throwable) |
static HttpResponse |
Resps.string(HttpRequest request,
String bodyString,
String Content_Type)
创建字符串输出
|
static HttpResponse |
Resps.string(HttpRequest request,
String bodyString,
String charset,
String Content_Type)
创建字符串输出
|
static HttpResponse |
Resps.try304(HttpRequest request,
long lastModifiedOnServer)
尝试返回304,这个会new一个HttpResponse返回
|
static HttpResponse |
Resps.txt(HttpRequest request,
String bodyString)
Content-Type: text/plain;charset=utf-8
|
static HttpResponse |
Resps.txt(HttpRequest request,
String bodyString,
String charset)
Content-Type: text/plain;charset=utf-8
|
Modifier and Type | Class and Description |
---|---|
class |
ClientHttpRequest
临时写的httpclient,用于性能测试
|
Modifier and Type | Method and Description |
---|---|
static ByteBuffer |
HttpRequestEncoder.encode(HttpRequest httpRequest,
TioConfig tioConfig,
ChannelContext channelContext) |
Modifier and Type | Method and Description |
---|---|
HttpRequest |
WsSessionContext.getHandshakeRequest() |
Modifier and Type | Method and Description |
---|---|
void |
WsSessionContext.setHandshakeRequest(HttpRequest handshakeRequest) |
Modifier and Type | Method and Description |
---|---|
static HttpResponse |
WsServerAioHandler.updateWebSocketProtocol(HttpRequest request,
ChannelContext channelContext)
本方法改编自baseio: https://gitee.com/generallycloud/baseio
感谢开源作者的付出 |
Modifier and Type | Method and Description |
---|---|
HttpResponse |
IWsMsgHandler.handshake(HttpRequest httpRequest,
HttpResponse httpResponse,
ChannelContext channelContext)
对httpResponse参数进行补充并返回,如果返回null表示不想和对方建立连接,框架会断开连接,如果返回非null,框架会把这个对象发送给对方
注:请不要在这个方法中向对方发送任何消息,因为这个时候握手还没完成,发消息会导致协议交互失败。
对于大部分业务,该方法只需要一行代码:return httpResponse;
|
void |
IWsMsgHandler.onAfterHandshaked(HttpRequest httpRequest,
HttpResponse httpResponse,
ChannelContext channelContext)
握手成功后触发该方法
|
Copyright © 2021. All rights reserved.