// Path: redant-core/src/main/java/com/redant/core/controller/ControllerProxy.java
// public class ControllerProxy {
// 
//     private RenderType renderType;
// 
//     private RequestMethod requestMethod;
// 
//     private Object controller;
// 
//     private Method method;
// 
//     private String methodName;
// 
//     public RenderType getRenderType() {
//         return renderType;
//     }
// 
//     public void setRenderType(RenderType renderType) {
//         this.renderType = renderType;
//     }
// 
//     public RequestMethod getRequestMethod() {
//         return requestMethod;
//     }
// 
//     public void setRequestMethod(RequestMethod requestMethod) {
//         this.requestMethod = requestMethod;
//     }
// 
//     public Object getController() {
//         return controller;
//     }
// 
//     public void setController(Object controller) {
//         this.controller = controller;
//     }
// 
//     public Method getMethod() {
//         return method;
//     }
// 
//     public void setMethod(Method method) {
//         this.method = method;
//     }
// 
//     public String getMethodName() {
//         return methodName;
//     }
// 
//     public void setMethodName(String methodName) {
//         this.methodName = methodName;
//     }
// 
//     @Override
//     public String toString() {
//         return "{requestMethod:"+requestMethod+",controller:"+controller.getClass().getName()+",methodName:"+methodName+"}";
//     }
// }


import com.redant.core.controller.ControllerProxy;
import io.netty.handler.codec.http.HttpMethod;
package com.redant.core.controller.context;


/**
 * @author houyi.wh
 * @date 2019-01-15
 */
public interface ControllerContext {

    /**
     * 添加Controller代理
     * @param path 请求路径
     * @param proxy 代理
     */
    void addProxy(String path,ControllerProxy proxy);

    /**
     * 获取Controller代理
     * @param method 请求方法类型
     * @param uri 请求url
     * @return 代理
     */
// Path: redant-core/src/main/java/com/redant/core/controller/ControllerProxy.java
// public class ControllerProxy {
// 
//     private RenderType renderType;
// 
//     private RequestMethod requestMethod;
// 
//     private Object controller;
// 
//     private Method method;
// 
//     private String methodName;
// 
//     public RenderType getRenderType() {
//         return renderType;
//     }
// 
//     public void setRenderType(RenderType renderType) {
//         this.renderType = renderType;
//     }
// 
//     public RequestMethod getRequestMethod() {
//         return requestMethod;
//     }
// 
//     public void setRequestMethod(RequestMethod requestMethod) {
//         this.requestMethod = requestMethod;
//     }
// 
//     public Object getController() {
//         return controller;
//     }
// 
//     public void setController(Object controller) {
//         this.controller = controller;
//     }
// 
//     public Method getMethod() {
//         return method;
//     }
// 
//     public void setMethod(Method method) {
//         this.method = method;
//     }
// 
//     public String getMethodName() {
//         return methodName;
//     }
// 
//     public void setMethodName(String methodName) {
//         this.methodName = methodName;
//     }
// 
//     @Override
//     public String toString() {
//         return "{requestMethod:"+requestMethod+",controller:"+controller.getClass().getName()+",methodName:"+methodName+"}";
//     }
// }


// Path: redant-core/src/main/java/com/redant/core/controller/context/ControllerContext.java
import com.redant.core.controller.ControllerProxy;
import io.netty.handler.codec.http.HttpMethod;

package com.redant.core.controller.context;


/**
 * @author houyi.wh
 * @date 2019-01-15
 */
public interface ControllerContext {

    /**
     * 添加Controller代理
     * @param path 请求路径
     * @param proxy 代理
     */
    void addProxy(String path,ControllerProxy proxy);

    /**
     * 获取Controller代理
     * @param method 请求方法类型
     * @param uri 请求url
     * @return 代理
     */
    ControllerProxy getProxy(HttpMethod method, String uri);