Cómo transferir mod_pagespeed a otro sistema

¿Deseas transferir mod_pagespeed a otro servidor o integrarlo en otro sistema? Perfecto. Desarrollamos mod_pagespeed para que sea modular y casi completamente independiente de Apache. El único código específico de Apache se encuentra en el directorio net/instaweb/apache.

Si buscas en nuestra fuente, nuestro código principal se encuentra en net/instaweb/:

  • util/ y http/ tienen muchas de nuestras herramientas básicas, incluidas las clases base abstractas como MessageHandler, Timer y UrlFetcher. Hay algunos ejemplos de implementaciones, pero tendrás que hacer tus propias implementaciones de muchas.
  • htmlparse/ tiene el analizador de HTML principal. No deberías tener que lidiar con eso.
  • rewriter/ tiene los filtros y el marco de trabajo de reescritura. El punto de integración central es la clase parcialmente abstracta aquí, RewriteDriverFactory. Tu esfuerzo de integración comenzará con la subclasificación y la implementación de sus métodos virtuales puros.

Es probable que debas implementar un puerto para las siguientes clases (consulta las implementaciones de ejemplo en el directorio apache/):

Luego, a fin de invocar el código, deberás crear un FooRewriteDriverFactory para crear todos los objetos y, luego, StartParseWithType(url, content_type), ParseText(text) entre cada limpieza del servidor y FinishParse() para cada solicitud.

Comunícate con nosotros a través de nuestra lista de distribución para el desarrollo si estás investigando sobre este asunto o si tienes algún problema. No garantizamos que las interfaces internas se mantengan iguales, por lo que podríamos dañar fácilmente tu puerto si no sabemos que las estás usando.