本文整理汇总了Java中org.takes.rs.RsWithType类的典型用法代码示例。如果您正苦于以下问题:Java RsWithType类的具体用法?Java RsWithType怎么用?Java RsWithType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RsWithType类属于org.takes.rs包,在下文中一共展示了RsWithType类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: fatal
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Make fatal error page.
* @param req Request
* @return Response
* @throws IOException If fails
*/
private static Response fatal(final RqFallback req) throws IOException {
return new RsWithStatus(
new RsWithType(
new RsVelocity(
TkAppFallback.class.getResource("error.html.vm"),
new RsVelocity.Pair(
"err",
ExceptionUtils.getStackTrace(req.throwable())
),
new RsVelocity.Pair("rev", TkAppFallback.REV)
),
"text/html"
),
HttpURLConnection.HTTP_INTERNAL_ERROR
);
}
示例2: fatal
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Make fatal error page.
* @param req Request
* @return Response
* @throws IOException If fails
*/
private static Response fatal(final RqFallback req) throws IOException {
return new RsWithStatus(
new RsWithType(
new RsVelocity(
TkAppFallback.class.getResource("error.html.vm"),
new RsVelocity.Pair(
"err",
ExceptionUtils.getStackTrace(req.throwable())
),
new RsVelocity.Pair("rev", TkAppFallback.REV),
new RsVelocity.Pair("version", TkAppFallback.VERSION)
),
"text/html"
),
HttpURLConnection.HTTP_INTERNAL_ERROR
);
}
示例3: FbStatus
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Ctor.
* @param check HTTP status code predicate
* @since 0.16.10
*/
public FbStatus(final Condition<Integer> check) {
this(check, new Fallback() {
@Override
public Opt<Response> route(final RqFallback req)
throws IOException {
final Response res = new RsWithStatus(req.code());
return new Opt.Single<Response>(
new RsWithType(
new RsWithBody(
res,
String.format(
"%s: %s", WHITESPACE.split(
res.head().iterator().next(),
2
)[1], req.throwable().getLocalizedMessage()
)
), "text/plain"
)
);
}
});
}
示例4: RsXembly
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Ctor.
* @param dom DOM node to build upon
* @param src Source
*/
public RsXembly(final Node dom, final XeSource src) {
super(
new Response() {
@Override
public Iterable<String> head() throws IOException {
return new RsWithType(
new RsWithStatus(
new RsEmpty(),
HttpURLConnection.HTTP_OK
),
"text/xml"
).head();
}
@Override
public InputStream body() throws IOException {
return RsXembly.render(dom, src);
}
}
);
}
示例5: exitTest
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* PsByFlag wraps response with authenticated user.
* @throws IOException If some problem inside
*/
@Test
public void exitTest() throws IOException {
final Response response = new RsWithStatus(
new RsWithType(
new RsWithBody("<html>This is test response</html>"),
"text/html"
),
HttpURLConnection.HTTP_OK
);
MatcherAssert.assertThat(
new PsByFlag(
ImmutableMap.<Pattern, Pass>of(
Pattern.compile("key"), new PsFake(true)
)
).exit(response, Mockito.mock(Identity.class)),
Matchers.is(response)
);
}
示例6: fatal
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Make a fatal response.
* @param req Request
* @return Response
* @throws IOException If fails
*/
private static Response fatal(final RqFallback req) throws IOException {
final String err = ExceptionUtils.getStackTrace(
req.throwable()
);
Logger.error(TkAppFallback.class, "%[exception]s", req.throwable());
return new RsWithStatus(
new RsWithType(
new RsVelocity(
TkAppFallback.class.getResource("error.html.vm"),
new RsVelocity.Pair("error", err),
new RsVelocity.Pair("version", TkAppFallback.VERSION)
),
"text/html"
),
HttpURLConnection.HTTP_INTERNAL_ERROR
);
}
示例7: act
import org.takes.rs.RsWithType; //导入依赖的package包/类
@Override
public Response act(final Request req) throws IOException {
final URL url = new URL(new RqHref.Smart(req).single("u"));
return new RsWithType(
new RsWithHeaders(
new RsWithBody(
TkBadge.SVG.with("style", "round").applyTo(
new XMLDocument(
new Xembler(
new Directives()
.add("info")
.add("url")
.set(url)
.up()
.add("total")
.set(
this.base.status(url).history(
Long.MAX_VALUE
).size()
)
.up()
.add("failures")
.set(
this.base.status(url).failures(
Long.MAX_VALUE
).size()
)
.up()
).xmlQuietly()
)
)
),
"Cache-Control: no-cache"
),
"image/svg+xml"
);
}
示例8: make
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Make it.
* @param xsl XSL
* @param req Request
* @param src Source
* @return Response
*/
private static Response make(final String xsl, final Request req,
final Scalar<Iterable<XeSource>> src) {
final Response raw = new RsXembly(
new XeStylesheet(xsl),
new XeAppend(
"page",
new XeMillis(false),
new XeChain(src),
new XeMemory(),
new XeLinkHome(req),
new XeLinkSelf(req),
new XeMillis(true),
new XeDate(),
new XeSla(),
new XeLocalhost(),
new XeFlash(req),
new XeAppend(
"version",
new XeAppend("name", Manifests.read("Rehttp-Version")),
new XeAppend("revision", Manifests.read("Rehttp-Revision")),
new XeAppend("date", Manifests.read("Rehttp-Date"))
)
)
);
return new RsFork(
req,
new FkTypes(
"application/xml,text/xml",
new RsPrettyXml(new RsWithType(raw, "text/xml"))
),
new FkTypes(
"*/*",
new RsXslt(new RsWithType(raw, "text/html"))
)
);
}
示例9: apply
import org.takes.rs.RsWithType; //导入依赖的package包/类
@Override
public Response apply(final String path) throws IOException {
String type = "text/plain";
if (path.endsWith(".html")) {
type = "text/html";
} else if (path.endsWith(".xml")) {
type = "application/xml";
} else if (path.endsWith(".svg")) {
type = "image/svg+xml";
}
return new RsWithType(
new IoCheckedFunc<>(this.origin).apply(path), type
);
}
示例10: make
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Make it.
* @param req Request
* @param xsl XSL stylesheet
* @param src Sources
* @return Response
*/
@SuppressWarnings("PMD.AvoidDuplicateLiterals")
private static Response make(final Request req, final String xsl,
final Scalar<Iterable<XeSource>> src) {
final Response raw = new RsXembly(
new XeChain(
new XeStylesheet(
String.format("/org/jpeek/web/%s.xsl", xsl)
),
new XeAppend(
"page",
new XeChain(
new XeMillis(),
new XeDirectives(new Header()),
new XeChain(src),
new XeMillis(true)
)
)
)
);
return new RsFork(
req,
new FkTypes(
"text/html",
new RsXslt(new RsWithType(raw, "text/html"))
),
new FkTypes(
"application/vnd.jpeek+xml",
new RsPrettyXml(new RsWithType(raw, "text/xml"))
),
new FkTypes("*/*", raw)
);
}
示例11: TkWithType
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Ctor.
* @param take Original take
* @param type Content type
*/
public TkWithType(final Take take, final String type) {
super(
new Take() {
@Override
public Response act(final Request req) throws IOException {
return new RsWithType(take.act(req), type);
}
}
);
}
示例12: make
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Make it.
* @param xsl XSL
* @param req Request
* @param base Base
* @param src Source
* @return Response
* @throws IOException If fails
* @checkstyle ParameterNumberCheck (5 lines)
*/
private static Response make(final String xsl, final Request req,
final Base base, final XeSource... src) throws IOException {
final Response raw = new RsXembly(
new XeStylesheet(xsl),
new XeAppend(
"page",
new XeMillis(false),
new XeChain(src),
new XeMillis(true),
new XeDate(),
new XeSLA(),
new XeLocalhost(),
new XeIdentity(req),
new XeAccount(base, req),
new XeFlash(req),
new XeFacebookLink(req, Manifests.read("libre-FacebookId")),
new XeLogoutLink(req),
new XeAppend(
"version",
new XeAppend("name", Manifests.read("libre-Version")),
new XeAppend(
"revision", Manifests.read("libre-Revision")
),
new XeAppend("date", Manifests.read("libre-Date"))
)
)
);
return new RsFork(
req,
new FkTypes(
"application/xml,text/xml",
new RsWithType(raw, "text/xml")
),
new FkTypes(
"*/*",
new RsXSLT(new RsWithType(raw, "text/html"))
)
);
}
示例13: make
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Make it.
* @param xsl XSL
* @param base Base
* @param req Request
* @param src Source
* @return Response
* @throws IOException If fails
* @checkstyle ParameterNumberCheck (5 lines)
*/
private static Response make(final String xsl, final Base base,
final Request req, final XeSource... src) throws IOException {
final Response xbl = new RsXembly(
new XeStylesheet(xsl),
new XePage(base, req, src)
);
final Response raw = new RsWithType(xbl, "text/xml");
return new RsFork(
req,
new Fork() {
@Override
public Opt<Response> route(final Request rst)
throws IOException {
final RqHeaders hdr = new RqHeaders.Base(rst);
final Iterator<String> agent =
hdr.header("User-Agent").iterator();
final Opt<Response> opt;
if (agent.hasNext() && agent.next().contains("Firefox")) {
opt = new Opt.Single<Response>(
// @checkstyle MultipleStringLiteralsCheck (1 line)
new RsXSLT(new RsWithType(raw, "text/html"))
);
} else {
opt = new Opt.Empty<>();
}
return opt;
}
},
new FkTypes("application/xml,text/xml", new RsPrettyXML(raw)),
new FkTypes(
"*/*",
new RsXSLT(new RsWithType(raw, "text/html"))
)
);
}
示例14: make
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Make it.
* @param xsl XSL
* @param req Request
* @param src Source
* @return Response
* @throws IOException If fails
*/
private static Response make(final String xsl, final Request req,
final Scalar<Iterable<XeSource>> src) throws IOException {
final Response raw = new RsXembly(
new XeStylesheet(xsl),
new XeAppend(
"page",
new XeMillis(false),
new XeChain(src),
new XeMemory(),
new XeLinkHome(req),
new XeLinkSelf(req),
new XeMillis(true),
new XeDate(),
new XeAppend(
"epoch",
Long.toString(System.currentTimeMillis())
),
new XeSla(),
new XeLocalhost(),
new XeFlash(req),
new XeWhen(
new RqAuth(req).identity().equals(Identity.ANONYMOUS),
new XeChain(
new XeGithubLink(
req, Manifests.read("ThreeCopies-GithubId")
)
)
),
new XeWhen(
!new RqAuth(req).identity().equals(Identity.ANONYMOUS),
new XeChain(
new XeIdentity(req),
new XeLogoutLink(req)
)
),
new XeAppend(
"version",
new XeAppend("name", Manifests.read("ThreeCopies-Version")),
new XeAppend(
"revision",
Manifests.read("ThreeCopies-Revision")
),
new XeAppend("date", Manifests.read("ThreeCopies-Date"))
)
)
);
return new RsFork(
req,
new FkTypes(
"application/xml,text/xml",
new RsPrettyXml(new RsWithType(raw, "text/xml"))
),
new FkTypes(
"*/*",
new RsXslt(new RsWithType(raw, "text/html"))
)
);
}
示例15: make
import org.takes.rs.RsWithType; //导入依赖的package包/类
/**
* Make it.
* @param xsl XSL
* @param req Request
* @param src Source
* @return Response
* @throws IOException If fails
*/
private static Response make(final String xsl, final Request req,
final Iterable<XeSource> src) throws IOException {
final Response raw = new RsXembly(
new XeStylesheet(xsl),
new XeAppend(
"page",
new XeMillis(false),
new XeChain(src),
new XeLinkHome(req),
new XeLinkSelf(req),
new XeMillis(true),
new XeDate(),
new XeSla(),
new XeLocalhost(),
new XeFlash(req),
new XeWhen(
new RqAuth(req).identity().equals(Identity.ANONYMOUS),
new XeChain(
new XeGithubLink(req, Manifests.read("Jare-GithubId"))
)
),
new XeWhen(
!new RqAuth(req).identity().equals(Identity.ANONYMOUS),
new XeChain(
new XeIdentity(req),
new XeLogoutLink(req),
new XeLink("domains", "/domains")
)
),
new XeAppend(
"version",
new XeAppend("name", Manifests.read("Jare-Version")),
new XeAppend("revision", Manifests.read("Jare-Revision")),
new XeAppend("date", Manifests.read("Jare-Date"))
)
)
);
return new RsFork(
req,
new FkTypes(
"application/xml,text/xml",
new RsPrettyXml(new RsWithType(raw, "text/xml"))
),
new FkTypes(
"*/*",
new RsXslt(new RsWithType(raw, "text/html"))
)
);
}