美文网首页
moco代码赏析五

moco代码赏析五

作者: hopelty | 来源:发表于2018-01-31 17:57 被阅读0次

    今天来看一下2012.10.30的后三次提交。


    提交一:支持了请求时传入一个流

            InputStream is = this.getClass().getClassLoader().getResourceAsStream("foo.request");
            server.request(eq(stream(is))).response("bar");
    

    通过stream()方法把流包装成自己定义的Stream类,然后再传入eq()方法。


    提交二:把Stream类重命名为ContentStream类(预计是想和java原生的Stream类作区分)

    public class ContentStream {
        private InputStream is;
    
        public ContentStream(String text) {
            this.is = new ByteArrayInputStream(text.getBytes());
        }
    
        public ContentStream(InputStream is) {
            this.is = is;
        }
    
        public InputStream asInputStream() {
            return is;
        }
    }
    

    提交三:第三次提交的改动较多,需要我们耐心看一下。
    一、ContentHandler类的构造方法的参数由InputStream类型变为了byte[]数组,这个改动的影响不是很大,我并没看出太多的意义来。
    二、重载了MocoHttpServer类中的response()方法,我把这个类中的这个方法视作welcome page,这个是首页,不需要在request中加入任何的参数,就是去访问这个页面。现在这个方法可以传入String和ContentStream两种类型。
    三、支持了response()方法可以传入一个流,也就是由text()方法把一个字符串转成ContentStream,再把流对象传入response()方法。

            server.request(eq(text("foo"))).response(text("bar"));
    

    相关文章

      网友评论

          本文标题:moco代码赏析五

          本文链接:https://www.haomeiwen.com/subject/mntlzxtx.html