POST | /pdf/file |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using AlbaApi.ServiceModel;
using ServiceStack.IO;
using ServiceStack.Web;
namespace AlbaApi.ServiceModel
{
public enum CssMediaType
{
Print,
Screen,
}
public partial class GeneratePdfOptions
{
public GeneratePdfOptions()
{
WaitForSelectorOptions = new List<WaitForSelectorOption>{};
}
public virtual string Filename { get; set; }
public virtual Margin Margin { get; set; }
public virtual PaperSize PaperSize { get; set; }
public virtual PageOrientation PageOrientation { get; set; }
public virtual bool DisplayHeader { get; set; }
public virtual bool DisplayFooter { get; set; }
public virtual bool DisplayPagination { get; set; }
public virtual string HeaderHtml { get; set; }
public virtual string FooterHtml { get; set; }
public virtual WaitUntil? WaitUntil { get; set; }
public virtual int NavigationTimeout { get; set; }
public virtual CssMediaType? CssMediaType { get; set; }
public virtual List<WaitForSelectorOption> WaitForSelectorOptions { get; set; }
public virtual bool HasCustomPdfDate { get; set; }
public virtual string CustomPdfDate { get; set; }
}
public partial class Margin
{
public virtual string Top { get; set; }
public virtual string Bottom { get; set; }
public virtual string Left { get; set; }
public virtual string Right { get; set; }
}
public enum PageOrientation
{
Landscape,
Portrait,
}
public partial class PaperSize
{
public virtual decimal Width { get; set; }
public virtual decimal Height { get; set; }
}
public partial class PostPdfFileRequest
{
public virtual string Url { get; set; }
public virtual GeneratePdfOptions Options { get; set; }
}
public partial class WaitForSelectorOption
{
public virtual string selector { get; set; }
public virtual bool isVisible { get; set; }
}
public enum WaitUntil
{
Load,
DOMContentLoaded,
NetworkIdle0,
NetworkIdle2,
}
}
namespace ServiceStack
{
[Flags]
public enum CacheControl
{
None = 0,
Public = 1,
Private = 2,
MustRevalidate = 4,
NoCache = 8,
NoStore = 16,
NoTransform = 32,
ProxyRevalidate = 64,
}
public partial class HttpResult
{
public HttpResult()
{
Headers = new Dictionary<string, string>{};
Cookies = new List<Cookie>{};
}
public virtual string ResponseText { get; set; }
public virtual Stream ResponseStream { get; set; }
public virtual FileInfo FileInfo { get; set; }
public virtual IVirtualFile VirtualFile { get; set; }
public virtual string ContentType { get; set; }
public virtual Dictionary<string, string> Headers { get; set; }
public virtual List<Cookie> Cookies { get; set; }
public virtual string ETag { get; set; }
public virtual TimeSpan? Age { get; set; }
public virtual TimeSpan? MaxAge { get; set; }
public virtual DateTime? Expires { get; set; }
public virtual DateTime? LastModified { get; set; }
public virtual CacheControl CacheControl { get; set; }
public virtual Func<IDisposable> ResultScope { get; set; }
public virtual bool AllowsPartialResponse { get; set; }
public virtual IDictionary<string, string> Options { get; set; }
public virtual int Status { get; set; }
public virtual HttpStatusCode StatusCode { get; set; }
public virtual string StatusDescription { get; set; }
public virtual Object Response { get; set; }
public virtual IContentTypeWriter ResponseFilter { get; set; }
public virtual IRequest RequestContext { get; set; }
public virtual string View { get; set; }
public virtual string Template { get; set; }
public virtual int PaddingLength { get; set; }
public virtual bool IsPartialRequest { get; set; }
}
[Flags]
public enum RequestAttributes
{
None = 0,
Localhost = 1,
LocalSubnet = 2,
External = 4,
Secure = 8,
InSecure = 16,
AnySecurityMode = 24,
HttpHead = 32,
HttpGet = 64,
HttpPost = 128,
HttpPut = 256,
HttpDelete = 512,
HttpPatch = 1024,
HttpOptions = 2048,
HttpOther = 4096,
AnyHttpMethod = 8160,
OneWay = 8192,
Reply = 16384,
AnyCallStyle = 24576,
Soap11 = 32768,
Soap12 = 65536,
Xml = 131072,
Json = 262144,
Jsv = 524288,
ProtoBuf = 1048576,
Csv = 2097152,
Html = 4194304,
Wire = 8388608,
MsgPack = 16777216,
FormatOther = 33554432,
AnyFormat = 67076096,
Http = 67108864,
MessageQueue = 134217728,
Tcp = 268435456,
Grpc = 536870912,
EndpointOther = 1073741824,
AnyEndpoint = 2080374784,
InProcess = -2147483648,
InternalNetworkAccess = -2147483645,
AnyNetworkAccessType = -2147483641,
Any = -1,
}
}
namespace ServiceStack.IO
{
public partial interface IVirtualDirectory
{
}
public partial interface IVirtualFile
{
IVirtualPathProvider VirtualPathProvider { get; set; }
string Extension { get; set; }
long Length { get; set; }
}
public partial interface IVirtualPathProvider
{
IVirtualDirectory RootDirectory { get; set; }
string VirtualPathSeparator { get; set; }
string RealPathSeparator { get; set; }
}
}
namespace ServiceStack.Web
{
public partial interface IContentTypeWriter
{
}
public partial interface IHttpFile
{
string Name { get; set; }
string FileName { get; set; }
long ContentLength { get; set; }
string ContentType { get; set; }
Stream InputStream { get; set; }
}
public partial interface IRequest
{
Object OriginalRequest { get; set; }
IResponse Response { get; set; }
string OperationName { get; set; }
string Verb { get; set; }
RequestAttributes RequestAttributes { get; set; }
IRequestPreferences RequestPreferences { get; set; }
Object Dto { get; set; }
string ContentType { get; set; }
bool IsLocal { get; set; }
string UserAgent { get; set; }
IDictionary<string, Cookie> Cookies { get; set; }
string ResponseContentType { get; set; }
bool HasExplicitResponseContentType { get; set; }
Dictionary<string, Object> Items { get; set; }
NameValueCollection Headers { get; set; }
NameValueCollection QueryString { get; set; }
NameValueCollection FormData { get; set; }
bool UseBufferedStream { get; set; }
string RawUrl { get; set; }
string AbsoluteUri { get; set; }
string UserHostAddress { get; set; }
string RemoteIp { get; set; }
string Authorization { get; set; }
bool IsSecureConnection { get; set; }
string[] AcceptTypes { get; set; }
string PathInfo { get; set; }
string OriginalPathInfo { get; set; }
Stream InputStream { get; set; }
long ContentLength { get; set; }
IHttpFile[] Files { get; set; }
Uri UrlReferrer { get; set; }
}
public partial interface IRequestPreferences
{
bool AcceptsBrotli { get; set; }
bool AcceptsDeflate { get; set; }
bool AcceptsGzip { get; set; }
}
public partial interface IResponse
{
Object OriginalResponse { get; set; }
IRequest Request { get; set; }
int StatusCode { get; set; }
string StatusDescription { get; set; }
string ContentType { get; set; }
Stream OutputStream { get; set; }
Object Dto { get; set; }
bool UseBufferedStream { get; set; }
bool IsClosed { get; set; }
bool KeepAlive { get; set; }
bool HasStarted { get; set; }
Dictionary<string, Object> Items { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
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: application/json
Content-Type: application/json
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: application/json Content-Length: length {}