protected def checkForOverlap()

in app/helpers/RangeHeader.scala [47:65]


  protected def checkForOverlap(headers: Array[RangeHeader]):Try[Seq[RangeHeader]] = {
    if(headers.head.end.isEmpty && headers.length>1){
      Failure(new BadDataError("First header specifies until end of file but there is more than one header"))
    }
    for(i <- 0 until headers.length-1){
      if(i>0 && headers(i).start.isEmpty){
        return Failure(new BadDataError("Open start range that is not the first in sequence"))
      } else if(i<headers.length-1 && headers(i).end.isEmpty) {
        return Failure(new BadDataError(s"Open end range at position $i / ${headers.length} that is not the last in sequence"))
      } else {
          if (headers(i).end.isDefined && headers(i + 1).start.isDefined) {
            if (headers(i).end.get > headers(i + 1).start.get) {
              return Failure(new BadDataError(s"Ranges ${headers(i).toString} and ${headers(i+1).toString} overlap"))
            }
          }
      }
    }
    Success(headers)
  }