Skip to content
This repository was archived by the owner on Sep 19, 2021. It is now read-only.

Commit 6d536f6

Browse files
Support of webjars #1
1 parent 8f2f94e commit 6d536f6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+48
-28485
lines changed

pom.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
</scm>
2323

2424
<dependencies>
25+
2526
<dependency>
2627
<groupId>com.qwazr</groupId>
2728
<artifactId>qwazr-scripts</artifactId>
@@ -67,6 +68,19 @@
6768
<artifactId>swagger-jersey2-jaxrs</artifactId>
6869
<version>1.5.16</version>
6970
</dependency>
71+
<dependency>
72+
<groupId>org.webjars</groupId>
73+
<artifactId>webjars-servlet-2.x</artifactId>
74+
<version>1.5</version>
75+
</dependency>
76+
77+
<dependency>
78+
<groupId>org.webjars</groupId>
79+
<artifactId>bootstrap</artifactId>
80+
<version>4.0.0-beta.2</version>
81+
<scope>test</scope>
82+
</dependency>
83+
7084
</dependencies>
7185

7286
<profiles>

src/main/java/com/qwazr/webapps/StaticResourceServlet.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.apache.commons.io.IOUtils;
1919

2020
import javax.activation.MimetypesFileTypeMap;
21-
import javax.servlet.ServletException;
2221
import javax.servlet.http.HttpServlet;
2322
import javax.servlet.http.HttpServletRequest;
2423
import javax.servlet.http.HttpServletResponse;
@@ -51,7 +50,7 @@ private InputStream findResource(final String resourcePath) throws IOException {
5150

5251
@Override
5352
final protected void doHead(final HttpServletRequest request, final HttpServletResponse response)
54-
throws ServletException, IOException {
53+
throws IOException {
5554
final String resourcePath = getResourcePath(request);
5655
try (final InputStream input = findResource(resourcePath)) {
5756
final String type = mimeTypeMap.getContentType(resourcePath);
@@ -63,7 +62,7 @@ final protected void doHead(final HttpServletRequest request, final HttpServletR
6362

6463
@Override
6564
final protected void doGet(final HttpServletRequest request, final HttpServletResponse response)
66-
throws ServletException, IOException {
65+
throws IOException {
6766
final String resourcePath = getResourcePath(request);
6867
try (final InputStream input = findResource(resourcePath)) {
6968
final String type = mimeTypeMap.getContentType(resourcePath);

src/main/java/com/qwazr/webapps/WebappManager.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import io.undertow.servlet.api.ServletInfo;
3737
import org.apache.commons.io.FilenameUtils;
3838
import org.glassfish.jersey.servlet.ServletContainer;
39+
import org.webjars.servlet.WebjarsServlet;
3940

4041
import javax.activation.MimetypesFileTypeMap;
4142
import javax.management.MBeanPermission;
@@ -174,6 +175,24 @@ public WebappManager registerContextAttribute(final GenericServerBuilder builder
174175
return this;
175176
}
176177

178+
public WebappManager registerWebjars(final ServletContextBuilder context, final boolean disableCache,
179+
final String... urlMappings) {
180+
ServletInfo servletInfo =
181+
new ServletInfo("WebjarsServlet", WebjarsServlet.class).setLoadOnStartup(2).addMappings(urlMappings);
182+
if (disableCache)
183+
servletInfo = servletInfo.addInitParam("disableCache", Boolean.toString(disableCache));
184+
context.addServlet(servletInfo);
185+
return this;
186+
}
187+
188+
public WebappManager registerWebjars(final ServletContextBuilder context, final boolean disableCache) {
189+
return registerWebjars(context, disableCache, "/webjars/*");
190+
}
191+
192+
public WebappManager registerWebjars(final ServletContextBuilder context) {
193+
return registerWebjars(context, false);
194+
}
195+
177196
public WebappServiceInterface getService() {
178197
return service;
179198
}

0 commit comments

Comments
 (0)