POST | /pdf/file |
---|
import java.math.*;
import java.util.*;
import net.servicestack.client.*;
public class dtos
{
public static class PostPdfFileRequest
{
public String url = null;
public GeneratePdfOptions options = null;
public String getUrl() { return url; }
public PostPdfFileRequest setUrl(String value) { this.url = value; return this; }
public GeneratePdfOptions getOptions() { return options; }
public PostPdfFileRequest setOptions(GeneratePdfOptions value) { this.options = value; return this; }
}
public static class GeneratePdfOptions
{
public String filename = null;
public Margin margin = null;
public PaperSize paperSize = null;
public PageOrientation pageOrientation = null;
public Boolean displayHeader = null;
public Boolean displayFooter = null;
public Boolean displayPagination = null;
public String headerHtml = null;
public String footerHtml = null;
public WaitUntil waitUntil = null;
public Integer navigationTimeout = null;
public CssMediaType cssMediaType = null;
public ArrayList<WaitForSelectorOption> waitForSelectorOptions = null;
public Boolean hasCustomPdfDate = null;
public String customPdfDate = null;
public String getFilename() { return filename; }
public GeneratePdfOptions setFilename(String value) { this.filename = value; return this; }
public Margin getMargin() { return margin; }
public GeneratePdfOptions setMargin(Margin value) { this.margin = value; return this; }
public PaperSize getPaperSize() { return paperSize; }
public GeneratePdfOptions setPaperSize(PaperSize value) { this.paperSize = value; return this; }
public PageOrientation getPageOrientation() { return pageOrientation; }
public GeneratePdfOptions setPageOrientation(PageOrientation value) { this.pageOrientation = value; return this; }
public Boolean isDisplayHeader() { return displayHeader; }
public GeneratePdfOptions setDisplayHeader(Boolean value) { this.displayHeader = value; return this; }
public Boolean isDisplayFooter() { return displayFooter; }
public GeneratePdfOptions setDisplayFooter(Boolean value) { this.displayFooter = value; return this; }
public Boolean isDisplayPagination() { return displayPagination; }
public GeneratePdfOptions setDisplayPagination(Boolean value) { this.displayPagination = value; return this; }
public String getHeaderHtml() { return headerHtml; }
public GeneratePdfOptions setHeaderHtml(String value) { this.headerHtml = value; return this; }
public String getFooterHtml() { return footerHtml; }
public GeneratePdfOptions setFooterHtml(String value) { this.footerHtml = value; return this; }
public WaitUntil getWaitUntil() { return waitUntil; }
public GeneratePdfOptions setWaitUntil(WaitUntil value) { this.waitUntil = value; return this; }
public Integer getNavigationTimeout() { return navigationTimeout; }
public GeneratePdfOptions setNavigationTimeout(Integer value) { this.navigationTimeout = value; return this; }
public CssMediaType getCssMediaType() { return cssMediaType; }
public GeneratePdfOptions setCssMediaType(CssMediaType value) { this.cssMediaType = value; return this; }
public ArrayList<WaitForSelectorOption> getWaitForSelectorOptions() { return waitForSelectorOptions; }
public GeneratePdfOptions setWaitForSelectorOptions(ArrayList<WaitForSelectorOption> value) { this.waitForSelectorOptions = value; return this; }
public Boolean isHasCustomPdfDate() { return hasCustomPdfDate; }
public GeneratePdfOptions setHasCustomPdfDate(Boolean value) { this.hasCustomPdfDate = value; return this; }
public String getCustomPdfDate() { return customPdfDate; }
public GeneratePdfOptions setCustomPdfDate(String value) { this.customPdfDate = value; return this; }
}
public static class Margin
{
public String top = null;
public String bottom = null;
public String left = null;
public String right = null;
public String getTop() { return top; }
public Margin setTop(String value) { this.top = value; return this; }
public String getBottom() { return bottom; }
public Margin setBottom(String value) { this.bottom = value; return this; }
public String getLeft() { return left; }
public Margin setLeft(String value) { this.left = value; return this; }
public String getRight() { return right; }
public Margin setRight(String value) { this.right = value; return this; }
}
public static class PaperSize
{
public BigDecimal width = null;
public BigDecimal height = null;
public BigDecimal getWidth() { return width; }
public PaperSize setWidth(BigDecimal value) { this.width = value; return this; }
public BigDecimal getHeight() { return height; }
public PaperSize setHeight(BigDecimal value) { this.height = value; return this; }
}
public static enum PageOrientation
{
Landscape,
Portrait;
}
public static enum WaitUntil
{
Load,
DomContentLoaded,
NetworkIdle0,
NetworkIdle2;
}
public static enum CssMediaType
{
Print,
Screen;
}
public static class WaitForSelectorOption
{
public String selector = null;
public Boolean isVisible = null;
public String getSelector() { return selector; }
public WaitForSelectorOption setSelector(String value) { this.selector = value; return this; }
public Boolean getIsVisible() { return isVisible; }
public WaitForSelectorOption setIsVisible(Boolean value) { this.isVisible = value; return this; }
}
public static class HttpResult
{
public String responseText = null;
public InputStream responseStream = null;
public FileInfo fileInfo = null;
public IVirtualFile virtualFile = null;
public String contentType = null;
public HashMap<String,String> headers = null;
public ArrayList<Cookie> cookies = null;
public String eTag = null;
public TimeSpan age = null;
public TimeSpan maxAge = null;
public Date expires = null;
public Date lastModified = null;
public CacheControl cacheControl = null;
public Func<IDisposable> resultScope = null;
public Boolean allowsPartialResponse = null;
public HashMap<String,String> options = null;
public Integer status = null;
public HttpStatusCode statusCode = null;
public String statusDescription = null;
public Object response = null;
public IContentTypeWriter responseFilter = null;
public IRequest requestContext = null;
public String view = null;
public String template = null;
public Integer paddingLength = null;
public Boolean isPartialRequest = null;
public String getResponseText() { return responseText; }
public HttpResult setResponseText(String value) { this.responseText = value; return this; }
public InputStream getResponseStream() { return responseStream; }
public HttpResult setResponseStream(InputStream value) { this.responseStream = value; return this; }
public FileInfo getFileInfo() { return fileInfo; }
public HttpResult setFileInfo(FileInfo value) { this.fileInfo = value; return this; }
public IVirtualFile getVirtualFile() { return virtualFile; }
public HttpResult setVirtualFile(IVirtualFile value) { this.virtualFile = value; return this; }
public String getContentType() { return contentType; }
public HttpResult setContentType(String value) { this.contentType = value; return this; }
public HashMap<String,String> getHeaders() { return headers; }
public HttpResult setHeaders(HashMap<String,String> value) { this.headers = value; return this; }
public ArrayList<Cookie> getCookies() { return cookies; }
public HttpResult setCookies(ArrayList<Cookie> value) { this.cookies = value; return this; }
public String getETag() { return eTag; }
public HttpResult setETag(String value) { this.eTag = value; return this; }
public TimeSpan getAge() { return age; }
public HttpResult setAge(TimeSpan value) { this.age = value; return this; }
public TimeSpan getMaxAge() { return maxAge; }
public HttpResult setMaxAge(TimeSpan value) { this.maxAge = value; return this; }
public Date getExpires() { return expires; }
public HttpResult setExpires(Date value) { this.expires = value; return this; }
public Date getLastModified() { return lastModified; }
public HttpResult setLastModified(Date value) { this.lastModified = value; return this; }
public CacheControl getCacheControl() { return cacheControl; }
public HttpResult setCacheControl(CacheControl value) { this.cacheControl = value; return this; }
public Func<IDisposable> getResultScope() { return resultScope; }
public HttpResult setResultScope(Func<IDisposable> value) { this.resultScope = value; return this; }
public Boolean isAllowsPartialResponse() { return allowsPartialResponse; }
public HttpResult setAllowsPartialResponse(Boolean value) { this.allowsPartialResponse = value; return this; }
public HashMap<String,String> getOptions() { return options; }
public HttpResult setOptions(HashMap<String,String> value) { this.options = value; return this; }
public Integer getStatus() { return status; }
public HttpResult setStatus(Integer value) { this.status = value; return this; }
public HttpStatusCode getStatusCode() { return statusCode; }
public HttpResult setStatusCode(HttpStatusCode value) { this.statusCode = value; return this; }
public String getStatusDescription() { return statusDescription; }
public HttpResult setStatusDescription(String value) { this.statusDescription = value; return this; }
public Object getResponse() { return response; }
public HttpResult setResponse(Object value) { this.response = value; return this; }
public IContentTypeWriter getResponseFilter() { return responseFilter; }
public HttpResult setResponseFilter(IContentTypeWriter value) { this.responseFilter = value; return this; }
public IRequest getRequestContext() { return requestContext; }
public HttpResult setRequestContext(IRequest value) { this.requestContext = value; return this; }
public String getView() { return view; }
public HttpResult setView(String value) { this.view = value; return this; }
public String getTemplate() { return template; }
public HttpResult setTemplate(String value) { this.template = value; return this; }
public Integer getPaddingLength() { return paddingLength; }
public HttpResult setPaddingLength(Integer value) { this.paddingLength = value; return this; }
public Boolean getIsPartialRequest() { return isPartialRequest; }
public HttpResult setIsPartialRequest(Boolean value) { this.isPartialRequest = value; return this; }
}
public static interface IVirtualFile
{
public IVirtualPathProvider virtualPathProvider = null;
public String extension = null;
public Long length = null;
}
public static interface IVirtualPathProvider
{
public IVirtualDirectory rootDirectory = null;
public String virtualPathSeparator = null;
public String realPathSeparator = null;
}
public static interface IVirtualDirectory
{
}
@Flags()
public static enum CacheControl
{
@SerializedName("0") None(0),
@SerializedName("1") Public(1),
@SerializedName("2") Private(2),
@SerializedName("4") MustRevalidate(4),
@SerializedName("8") NoCache(8),
@SerializedName("16") NoStore(16),
@SerializedName("32") NoTransform(32),
@SerializedName("64") ProxyRevalidate(64);
private final int value;
CacheControl(final int intValue) { value = intValue; }
public int getValue() { return value; }
}
public static interface IContentTypeWriter
{
}
public static interface IRequest
{
public Object originalRequest = null;
public IResponse response = null;
public String operationName = null;
public String verb = null;
public RequestAttributes requestAttributes = null;
public IRequestPreferences requestPreferences = null;
public Object dto = null;
public String contentType = null;
public Boolean isLocal = null;
public String userAgent = null;
public HashMap<String,Cookie> cookies = null;
public String responseContentType = null;
public Boolean hasExplicitResponseContentType = null;
public HashMap<String,Object> items = null;
public NameValueCollection headers = null;
public NameValueCollection queryString = null;
public NameValueCollection formData = null;
public Boolean useBufferedStream = null;
public String rawUrl = null;
public String absoluteUri = null;
public String userHostAddress = null;
public String remoteIp = null;
public String authorization = null;
public Boolean isSecureConnection = null;
public ArrayList<String> acceptTypes = null;
public String pathInfo = null;
public String originalPathInfo = null;
public InputStream inputStream = null;
public Long contentLength = null;
public ArrayList<IHttpFile> files = null;
public Uri urlReferrer = null;
}
public static interface IResponse
{
public Object originalResponse = null;
public IRequest request = null;
public Integer statusCode = null;
public String statusDescription = null;
public String contentType = null;
public InputStream outputStream = null;
public Object dto = null;
public Boolean useBufferedStream = null;
public Boolean isClosed = null;
public Boolean keepAlive = null;
public Boolean hasStarted = null;
public HashMap<String,Object> items = null;
}
@Flags()
public static enum RequestAttributes
{
@SerializedName("0") None(0),
@SerializedName("1") Localhost(1),
@SerializedName("2") LocalSubnet(2),
@SerializedName("4") External(4),
@SerializedName("8") Secure(8),
@SerializedName("16") InSecure(16),
@SerializedName("24") AnySecurityMode(24),
@SerializedName("32") HttpHead(32),
@SerializedName("64") HttpGet(64),
@SerializedName("128") HttpPost(128),
@SerializedName("256") HttpPut(256),
@SerializedName("512") HttpDelete(512),
@SerializedName("1024") HttpPatch(1024),
@SerializedName("2048") HttpOptions(2048),
@SerializedName("4096") HttpOther(4096),
@SerializedName("8160") AnyHttpMethod(8160),
@SerializedName("8192") OneWay(8192),
@SerializedName("16384") Reply(16384),
@SerializedName("24576") AnyCallStyle(24576),
@SerializedName("32768") Soap11(32768),
@SerializedName("65536") Soap12(65536),
@SerializedName("131072") Xml(131072),
@SerializedName("262144") Json(262144),
@SerializedName("524288") Jsv(524288),
@SerializedName("1048576") ProtoBuf(1048576),
@SerializedName("2097152") Csv(2097152),
@SerializedName("4194304") Html(4194304),
@SerializedName("8388608") Wire(8388608),
@SerializedName("16777216") MsgPack(16777216),
@SerializedName("33554432") FormatOther(33554432),
@SerializedName("67076096") AnyFormat(67076096),
@SerializedName("67108864") Http(67108864),
@SerializedName("134217728") MessageQueue(134217728),
@SerializedName("268435456") Tcp(268435456),
@SerializedName("536870912") Grpc(536870912),
@SerializedName("1073741824") EndpointOther(1073741824),
@SerializedName("2080374784") AnyEndpoint(2080374784),
@SerializedName("-2147483648") InProcess(-2147483648),
@SerializedName("-2147483645") InternalNetworkAccess(-2147483645),
@SerializedName("-2147483641") AnyNetworkAccessType(-2147483641),
@SerializedName("-1") Any(-1);
private final int value;
RequestAttributes(final int intValue) { value = intValue; }
public int getValue() { return value; }
}
public static interface IRequestPreferences
{
public Boolean acceptsBrotli = null;
public Boolean acceptsDeflate = null;
public Boolean acceptsGzip = null;
}
public static interface IHttpFile
{
public String name = null;
public String fileName = null;
public Long contentLength = null;
public String contentType = null;
public InputStream inputStream = null;
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /pdf/file HTTP/1.1
Host: hcbtas-q-albamfs-api.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
url: String,
options:
{
filename: String,
pageOrientation: Landscape,
displayHeader: False,
displayFooter: False,
displayPagination: False,
headerHtml: String,
footerHtml: String,
waitUntil: Load,
navigationTimeout: 0,
cssMediaType: Print,
waitForSelectorOptions:
[
{
}
],
hasCustomPdfDate: False,
customPdfDate: String
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { }