Search in sources :

Example 1 with BytesOf

use of org.cactoos.io.BytesOf in project cactoos-http by yegor256.

the class HtWire method send.

@Override
public Input send(final Input input) throws IOException {
    try (final Socket socket = new Socket(this.address, this.port);
        final InputStream source = input.stream();
        final InputStream ins = socket.getInputStream();
        final OutputStream ous = socket.getOutputStream()) {
        final byte[] buf = new byte[HtWire.LENGTH];
        while (true) {
            final int len = source.read(buf);
            if (len < 0) {
                break;
            }
            ous.write(buf, 0, len);
        }
        return new InputOf(new BytesOf(ins).asBytes());
    }
}
Also used : BytesOf(org.cactoos.io.BytesOf) InputStream(java.io.InputStream) OutputStream(java.io.OutputStream) InputOf(org.cactoos.io.InputOf) Socket(java.net.Socket)

Example 2 with BytesOf

use of org.cactoos.io.BytesOf in project wring by yegor256.

the class Cycle method exec.

@Override
public void exec(final Pipe pipe) throws Exception {
    final XePrint print = new XePrint(pipe.asXembly());
    final Events events = this.base.user(print.text("{/pipe/urn/text()}")).events();
    final String json = print.text("{/pipe/json/text()}");
    new UncheckedFunc<>(new FuncWithFallback<String, JsonObject>(str -> Json.createReader(new ReaderOf(str)).readObject(), new FuncOf<>(error -> events.post(Cycle.class.getCanonicalName(), String.format("Failed to parse JSON:\n%s\n\n%s", json, new TextOf(new BytesOf(error)).asString()))), obj -> {
        if (obj != null) {
            new Exec(new JsonAgent(this.base, obj), new IgnoreEvents(new BoostEvents(events, obj), obj), pipe).run();
        }
        return obj;
    })).apply(json);
}
Also used : JsonObject(javax.json.JsonObject) Events(io.wring.model.Events) FuncOf(org.cactoos.func.FuncOf) UncheckedFunc(org.cactoos.func.UncheckedFunc) Proc(org.cactoos.Proc) Base(io.wring.model.Base) BytesOf(org.cactoos.io.BytesOf) XePrint(io.wring.model.XePrint) Json(javax.json.Json) Pipe(io.wring.model.Pipe) ReaderOf(org.cactoos.io.ReaderOf) TextOf(org.cactoos.text.TextOf) FuncWithFallback(org.cactoos.func.FuncWithFallback) BytesOf(org.cactoos.io.BytesOf) FuncWithFallback(org.cactoos.func.FuncWithFallback) Events(io.wring.model.Events) ReaderOf(org.cactoos.io.ReaderOf) XePrint(io.wring.model.XePrint) TextOf(org.cactoos.text.TextOf)

Aggregations

BytesOf (org.cactoos.io.BytesOf)2 Base (io.wring.model.Base)1 Events (io.wring.model.Events)1 Pipe (io.wring.model.Pipe)1 XePrint (io.wring.model.XePrint)1 InputStream (java.io.InputStream)1 OutputStream (java.io.OutputStream)1 Socket (java.net.Socket)1 Json (javax.json.Json)1 JsonObject (javax.json.JsonObject)1 Proc (org.cactoos.Proc)1 FuncOf (org.cactoos.func.FuncOf)1 FuncWithFallback (org.cactoos.func.FuncWithFallback)1 UncheckedFunc (org.cactoos.func.UncheckedFunc)1 InputOf (org.cactoos.io.InputOf)1 ReaderOf (org.cactoos.io.ReaderOf)1 TextOf (org.cactoos.text.TextOf)1