anchor.diff:          }
         }).catchError((e) {
           socket.close();
  +      }).catchError((e){
  +        
         });
       }
       responseTask();
  
positive.code:       });
      });
    }
    void _startResponseFile(hetima.HetiSocket socket, hetima.HetimaFile file) {
      hetima.ArrayBuilder response = new hetima.ArrayBuilder();
      file.getLength().then((int length) {
  
negative.code:         print("${req.info.line.requestTarget}");
          if (req.info.line.requestTarget.length < 0) {
            req.socket.close();
            return;
          }
          if ("/${dataPath}/index.html" == req.info.line.requestTarget || "/${dataPath}/" == req.info.line.requestTarget || "/${dataPath}" == req.info.line.requestTarget) {
            _startResponseHomePage(req.socket);
            return;
          }
  
          String path = req.info.line.requestTarget.substring("/${dataPath}/".length);
          int index = path.indexOf("?");
          if(index == -1) {
            index = path.length;
          }
          String filename = path.substring(0, index);
          String request = path.substring(index);
  
          if (!_publicFileList.containsKey(filename)) {
            req.socket.close();
            return;
          }
  
          if ("?preview=true" == request) {
            _startResponsePreviewPage(req.socket, filename);
            return;
          }
  
          hetima.HetiHttpResponseHeaderField header = req.info.find(hetima.RfcTable.HEADER_FIELD_RANGE);
          if (header != null) {
            typed_data.Uint8List buff = new typed_data.Uint8List.fromList(convert.UTF8.encode(header.fieldValue));
            hetima.ArrayBuilder builder = new hetima.ArrayBuilder.fromList(buff);
            builder.fin();
            hetima.HetiHttpResponse.decodeRequestRangeValue(new hetima.EasyParser(builder)).then((hetima.HetiHttpRequestRange range) {
              _startResponseRangeFile(req.socket, _publicFileList[filename].file, contentType(filename),range.start, range.end);
            });
          } else {
            _startResponseFile(req.socket, _publicFileList[filename].file);
          }
        });
      }).catchError((e) {
  