anchor.diff:        if (end > (index+length)) {
           end = (index+length);
         }
  +      print("####### ${start} ${end}");
         file.read(start, end).then((hetima.ReadResult readResult) {
           return socket.send(readResult.buffer);
         }).then((hetima.HetiSendInfo i) {
  
positive.code:         end = length-1;
        }
        int contentLength = end-start+1;
        response.appendString("HTTP/1.1 206 OK'\r\n");
        response.appendString("Connection: close\r\n");
        response.appendString("Accept-Ranges: bytes\r\n");
        response.appendString("Content-Length: ${contentLength}\r\n");
        response.appendString("Content-Ranges: ${start}-${end}/${length}\r\n");
        response.appendString("\r\n");
        socket.send(response.toList()).then((hetima.HetiSendInfo i) {
          _startResponseBuffer(socket, file, 0, length);
        }).catchError((e) {
          socket.close();
        });
  
negative.code:   void _startResponseFile(hetima.HetiSocket socket, hetima.HetimaFile file) {
      hetima.ArrayBuilder response = new hetima.ArrayBuilder();
      file.getLength().then((int length) {
        response.appendString("HTTP/1.1 200 OK\r\n");
        response.appendString("Connection: close\r\n");
        response.appendString("Content-Length: ${length}\r\n");
        response.appendString("\r\n");
  