انتقال mod_pagespeed به یک سیستم دیگر

آیا می خواهید mod_pagespeed را به سرور دیگری پورت کنید یا آن را در سیستم دیگری ادغام کنید؟ عالی! ما mod_pagespeed را توسعه دادیم تا ماژولار و تقریباً کاملاً مستقل از آپاچی باشد. تنها کد مخصوص آپاچی در دایرکتوری net/instaweb/apache است.

اگر به منبع ما نگاه کنید، کد اصلی ما در net/instaweb/ است :

  • util/ و http/ بسیاری از ابزارهای اساسی ما، از جمله کلاس های پایه انتزاعی مانند MessageHandler ، Timer و UrlFetcher . چند نمونه از پیاده سازی ها وجود دارد، اما شما باید پیاده سازی های خود را از بسیاری از آنها بسازید.
  • htmlparse/ دارای تجزیه کننده اصلی HTML است. اصلا نباید با این موضوع کنار بیای.
  • rewriter/ دارای فیلترها و چارچوب بازنویسی است. نقطه ادغام مرکزی کلاس نیمه انتزاعی در اینجا، RewriteDriverFactory است. تلاش شما برای ادغام با زیرکلاس بندی آن و پیاده سازی روش های مجازی خالص آن آغاز می شود.

احتمالاً باید یک پورت برای کلاس‌های زیر پیاده‌سازی کنید (نمونه پیاده‌سازی‌ها را در دایرکتوری apache/ ببینید):

سپس برای فراخوانی کد، باید یک FooRewriteDriverFactory ایجاد کنید تا تمام اشیاء خود را ایجاد کند، و سپس StartParseWithType(url, content_type) , ParseText(text) بین هر flush سرور و FinishParse() برای هر درخواست.

اگر به دنبال این موضوع هستید یا مشکلی دارید، لطفاً به لیست پستی توسعه ما بنویسید. ما تضمین نمی‌کنیم که رابط‌های داخلی ثابت بمانند، بنابراین اگر ندانیم که از آنها استفاده می‌کنید، می‌توانیم به راحتی پورت شما را بشکنیم.