src/Pure/General/http.scala
changeset 75145 e721880779be
parent 75121 2efbb4e813ad
child 75146 1ef43607aef2
equal deleted inserted replaced
75144:883d610a1a91 75145:e721880779be
   300 
   300 
   301 
   301 
   302   /** Isabelle services **/
   302   /** Isabelle services **/
   303 
   303 
   304   def isabelle_services: List[Service] =
   304   def isabelle_services: List[Service] =
   305     List(new Welcome(), new Fonts(), new PDFjs(), new Docs())
   305     List(Welcome_Service, Fonts_Service, PDFjs_Service, Docs_Service)
   306 
   306 
   307 
   307 
   308   /* welcome */
   308   /* welcome */
       
   309 
       
   310   object Welcome_Service extends Welcome()
   309 
   311 
   310   class Welcome(name: String = "") extends Service(name)
   312   class Welcome(name: String = "") extends Service(name)
   311   {
   313   {
   312     def apply(request: Request): Option[Response] =
   314     def apply(request: Request): Option[Response] =
   313       if (request.toplevel) {
   315       if (request.toplevel) {
   316       else None
   318       else None
   317   }
   319   }
   318 
   320 
   319 
   321 
   320   /* fonts */
   322   /* fonts */
       
   323 
       
   324   object Fonts_Service extends Fonts()
   321 
   325 
   322   class Fonts(name: String = "fonts") extends Service(name)
   326   class Fonts(name: String = "fonts") extends Service(name)
   323   {
   327   {
   324     private lazy val html_fonts: List[Isabelle_Fonts.Entry] =
   328     private lazy val html_fonts: List[Isabelle_Fonts.Entry] =
   325       Isabelle_Fonts.fonts(hidden = true)
   329       Isabelle_Fonts.fonts(hidden = true)
   336       }
   340       }
   337   }
   341   }
   338 
   342 
   339 
   343 
   340   /* pdfjs */
   344   /* pdfjs */
       
   345 
       
   346   object PDFjs_Service extends PDFjs()
   341 
   347 
   342   class PDFjs(name: String = "pdfjs") extends Service(name)
   348   class PDFjs(name: String = "pdfjs") extends Service(name)
   343   {
   349   {
   344     def apply(request: Request): Option[Response] =
   350     def apply(request: Request): Option[Response] =
   345       for {
   351       for {
   349       } yield Response.read(path)
   355       } yield Response.read(path)
   350   }
   356   }
   351 
   357 
   352 
   358 
   353   /* docs */
   359   /* docs */
       
   360 
       
   361   object Docs_Service extends Docs()
   354 
   362 
   355   class Docs(name: String = "docs") extends PDFjs(name)
   363   class Docs(name: String = "docs") extends PDFjs(name)
   356   {
   364   {
   357     private val doc_contents = isabelle.Doc.main_contents()
   365     private val doc_contents = isabelle.Doc.main_contents()
   358 
   366