Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * JBoss, Home of Professional Open Source.
   * Copyright 2014 Red Hat, Inc., and individual contributors
   * as indicated by the @author tags.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  *  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 io.undertow.conduits;
 
 
 import java.util.List;
Conduit that saves all the data that is written through it and can dump it to the console

Obviously this should not be used in production.

Author(s):
Stuart Douglas
 
 
     private static final List<byte[]> data = new CopyOnWriteArrayList<>();

    
Construct a new instance.

Parameters:
next the delegate conduit to set
 
         super(next);
     }
 
     public long transferTo(final long positionfinal long countfinal FileChannel targetthrows IOException {
         return target.transferFrom(new ConduitReadableByteChannel(this), positioncount);
     }
 
     public long transferTo(final long countfinal ByteBuffer throughBufferfinal StreamSinkChannel targetthrows IOException {
         return IoUtils.transfer(new ConduitReadableByteChannel(this), countthroughBuffertarget);
     }
 
     @Override
     public int read(ByteBuffer dstthrows IOException {
         int pos = dst.position();
         int res = super.read(dst);
         if (res > 0) {
             byte[] d = new byte[res];
             for (int i = 0; i < res; ++i) {
                 d[i] = dst.get(i + pos);
             }
             .add(d);
         }
         return res;
     }
 
     @Override
     public long read(ByteBuffer[] dstsint offsint lenthrows IOException {
         for (int i = offsi < len; ++i) {
             if (dsts[i].hasRemaining()) {
                 return read(dsts[i]);
             }
         }
         return 0;
     }
 
     public static void dump() {
 
         for (int i = 0; i < .size(); ++i) {
             ..println("Buffer " + i);
             StringBuilder sb = new StringBuilder();
             try {
                 Buffers.dump(ByteBuffer.wrap(.get(i)), sb, 0, 20);
             } catch (IOException e) {
                 throw new RuntimeException(e);
             }
             ..println(sb);
             ..println();
         }
 
    }
New to GrepCode? Check out our FAQ X