Update Jetty packages (major) #103
3 changed files with 25 additions and 15 deletions
|
@ -60,7 +60,8 @@ configurations {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.google.code.gson:gson:2.10.1'
|
implementation 'com.google.code.gson:gson:2.10.1'
|
||||||
implementation 'commons-codec:commons-codec:1.17.0'
|
implementation 'commons-codec:commons-codec:1.17.0'
|
||||||
implementation 'commons-fileupload:commons-fileupload:1.5'
|
implementation 'org.apache.commons:commons-fileupload2-core:2.0.0-M2'
|
||||||
|
implementation 'org.apache.commons:commons-fileupload2-jakarta:2.0.0-M1'
|
||||||
implementation 'commons-logging:commons-logging:1.3.2'
|
implementation 'commons-logging:commons-logging:1.3.2'
|
||||||
implementation 'commons-net:commons-net:3.10.0'
|
implementation 'commons-net:commons-net:3.10.0'
|
||||||
implementation 'com.sun.mail:javax.mail:1.6.2'
|
implementation 'com.sun.mail:javax.mail:1.6.2'
|
||||||
|
|
|
@ -24,18 +24,27 @@ import helma.framework.core.Application;
|
||||||
import helma.util.*;
|
import helma.util.*;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.*;
|
import java.nio.charset.Charset;
|
||||||
|
import java.nio.charset.UnsupportedCharsetException;
|
||||||
|
|
||||||
import java.security.SecureRandom;
|
import java.security.SecureRandom;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
import jakarta.servlet.*;
|
import jakarta.servlet.*;
|
||||||
import jakarta.servlet.http.*;
|
import jakarta.servlet.http.*;
|
||||||
|
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
|
||||||
import org.apache.commons.fileupload.*;
|
import org.apache.commons.fileupload2.core.DiskFileItemFactory;
|
||||||
import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
import org.apache.commons.fileupload2.core.FileItem;
|
||||||
import org.apache.commons.fileupload.servlet.ServletRequestContext;
|
import org.apache.commons.fileupload2.core.FileUploadException;
|
||||||
|
import org.apache.commons.fileupload2.core.FileUploadSizeException;
|
||||||
|
import org.apache.commons.fileupload2.core.ProgressListener;
|
||||||
|
|
||||||
|
import org.apache.commons.fileupload2.jakarta.JakartaServletDiskFileUpload;
|
||||||
|
import org.apache.commons.fileupload2.jakarta.JakartaServletFileUpload;
|
||||||
|
import org.apache.commons.fileupload2.jakarta.JakartaServletRequestContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is an abstract Hop servlet adapter. This class communicates with hop applications
|
* This is an abstract Hop servlet adapter. This class communicates with hop applications
|
||||||
|
@ -222,7 +231,7 @@ public abstract class AbstractServletClient extends HttpServlet {
|
||||||
List uploads = null;
|
List uploads = null;
|
||||||
JakartaServletRequestContext reqcx = new JakartaServletRequestContext(request);
|
JakartaServletRequestContext reqcx = new JakartaServletRequestContext(request);
|
||||||
|
|
||||||
if (ServletFileUpload.isMultipartContent(reqcx)) {
|
if (JakartaServletFileUpload.isMultipartContent(reqcx)) {
|
||||||
// get session for upload progress monitoring
|
// get session for upload progress monitoring
|
||||||
UploadStatus uploadStatus = getApplication().getUploadStatus(reqtrans);
|
UploadStatus uploadStatus = getApplication().getUploadStatus(reqtrans);
|
||||||
try {
|
try {
|
||||||
|
@ -230,7 +239,7 @@ public abstract class AbstractServletClient extends HttpServlet {
|
||||||
} catch (Exception upx) {
|
} catch (Exception upx) {
|
||||||
log("Error in file upload", upx);
|
log("Error in file upload", upx);
|
||||||
String message;
|
String message;
|
||||||
boolean tooLarge = (upx instanceof FileUploadBase.SizeLimitExceededException);
|
boolean tooLarge = (upx instanceof FileUploadSizeException);
|
||||||
if (tooLarge) {
|
if (tooLarge) {
|
||||||
message = "File upload size exceeds limit of " + uploadLimit + " kB";
|
message = "File upload size exceeds limit of " + uploadLimit + " kB";
|
||||||
} else {
|
} else {
|
||||||
|
@ -657,10 +666,10 @@ public abstract class AbstractServletClient extends HttpServlet {
|
||||||
|
|
||||||
protected List parseUploads(JakartaServletRequestContext reqcx, RequestTrans reqtrans,
|
protected List parseUploads(JakartaServletRequestContext reqcx, RequestTrans reqtrans,
|
||||||
final UploadStatus uploadStatus, String encoding)
|
final UploadStatus uploadStatus, String encoding)
|
||||||
throws FileUploadException, UnsupportedEncodingException {
|
throws FileUploadException, UnsupportedCharsetException, IOException {
|
||||||
// handle file upload
|
// handle file upload
|
||||||
DiskFileItemFactory factory = new DiskFileItemFactory();
|
DiskFileItemFactory factory = DiskFileItemFactory.builder().get();
|
||||||
FileUpload upload = new FileUpload(factory);
|
JakartaServletFileUpload upload = new JakartaServletFileUpload(factory);
|
||||||
// use upload limit for individual file size, but also set a limit on overall size
|
// use upload limit for individual file size, but also set a limit on overall size
|
||||||
upload.setFileSizeMax(uploadLimit * 1024);
|
upload.setFileSizeMax(uploadLimit * 1024);
|
||||||
upload.setSizeMax(totalUploadLimit * 1024);
|
upload.setSizeMax(totalUploadLimit * 1024);
|
||||||
|
@ -683,7 +692,7 @@ public abstract class AbstractServletClient extends HttpServlet {
|
||||||
Object value;
|
Object value;
|
||||||
// check if this is an ordinary HTML form element or a file upload
|
// check if this is an ordinary HTML form element or a file upload
|
||||||
if (item.isFormField()) {
|
if (item.isFormField()) {
|
||||||
value = item.getString(encoding);
|
value = item.getString(Charset.forName(encoding));
|
||||||
} else {
|
} else {
|
||||||
value = new MimePart(item);
|
value = new MimePart(item);
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
package helma.util;
|
package helma.util;
|
||||||
|
|
||||||
import org.apache.commons.fileupload.FileItem;
|
import org.apache.commons.fileupload2.core.FileItem;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -238,7 +238,7 @@ public class MimePart implements Serializable {
|
||||||
file = new File(base, filename);
|
file = new File(base, filename);
|
||||||
|
|
||||||
if (fileItem != null) {
|
if (fileItem != null) {
|
||||||
fileItem.write(file);
|
fileItem.write(file.toPath());
|
||||||
// null out fileItem, since calling write() may have moved the temp file
|
// null out fileItem, since calling write() may have moved the temp file
|
||||||
fileItem = null;
|
fileItem = null;
|
||||||
} else {
|
} else {
|
||||||
|
@ -249,7 +249,7 @@ public class MimePart implements Serializable {
|
||||||
// return file name
|
// return file name
|
||||||
return filename;
|
return filename;
|
||||||
} catch (Exception x) {
|
} catch (Exception x) {
|
||||||
System.err.println("Error in MimePart.writeToFile(): " + x);
|
System.err.println("Error in MimePart.writeToFile(): " + x);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue