NPE on sending from file URLs
This commit is contained in:
parent
0ea35b8af5
commit
6e83937cc1
2 changed files with 7 additions and 4 deletions
|
@ -1,3 +1,3 @@
|
|||
group = org.xbib
|
||||
name = net-http
|
||||
version = 4.4.2
|
||||
version = 4.4.3
|
||||
|
|
|
@ -234,12 +234,12 @@ public abstract class AbstractResourceHandler implements HttpHandler {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (ranges.isEmpty() || ranges.get(0) == full) {
|
||||
if (ranges.isEmpty() || ranges.getFirst() == full) {
|
||||
context.header(HttpHeaderNames.CONTENT_RANGE, "bytes " + full.start + '-' + full.end + '/' + full.total)
|
||||
.header(HttpHeaderNames.CONTENT_LENGTH, Long.toString(full.length));
|
||||
send(resource, HttpResponseStatus.OK, contentType, context, full.start, full.length);
|
||||
} else if (ranges.size() == 1) {
|
||||
Range r = ranges.get(0);
|
||||
Range r = ranges.getFirst();
|
||||
context.header(HttpHeaderNames.CONTENT_RANGE, "bytes " + r.start + '-' + r.end + '/' + r.total)
|
||||
.header(HttpHeaderNames.CONTENT_LENGTH, Long.toString(r.length));
|
||||
send(resource, HttpResponseStatus.PARTIAL_CONTENT, contentType, context, r.start, r.length);
|
||||
|
@ -275,7 +275,7 @@ public abstract class AbstractResourceHandler implements HttpHandler {
|
|||
|
||||
private static long sublong(String value, int beginIndex, int endIndex) {
|
||||
String substring = value.substring(beginIndex, endIndex);
|
||||
return substring.length() > 0 ? Long.parseLong(substring) : -1;
|
||||
return !substring.isEmpty() ? Long.parseLong(substring) : -1;
|
||||
}
|
||||
|
||||
protected void send(Resource resource,
|
||||
|
@ -300,6 +300,9 @@ public abstract class AbstractResourceHandler implements HttpHandler {
|
|||
} else {
|
||||
if ("file".equals(url.getScheme())) {
|
||||
Path path = resource.getPath();
|
||||
if (path == null) {
|
||||
path = Paths.get(url.toURI());
|
||||
}
|
||||
try (FileChannel fileChannel = (FileChannel) Files.newByteChannel(path)) {
|
||||
send(fileChannel, httpResponseStatus, contentType, context, offset, size);
|
||||
} catch (IOException e) {
|
||||
|
|
Loading…
Reference in a new issue