Melakukan porting mod_pagespeed ke Sistem Lain

Ingin mentransfer mod_pagespeed ke server lain atau mengintegrasikannya ke sistem lain? Bagus. Kami mengembangkan mod_pagespeed menjadi modular dan hampir sepenuhnya independen dari Apache. Satu-satunya kode khusus Apache ada di direktori net/instaweb/apache.

Jika Anda melihat sumber kami, kode utama kami adalah dalam net/instaweb/:

  • util/ dan http/ memiliki banyak alat dasar, termasuk class dasar abstrak seperti MessageHandler, Timer, dan UrlFetcher. Ada beberapa contoh penerapan, tetapi Anda harus membuat implementasi sendiri dari banyak implementasi tersebut.
  • htmlparse/ memiliki parser HTML inti. Anda tidak harus menanganinya.
  • rewriter/ memiliki filter dan framework penulisan ulang. Titik integrasi pusat adalah class abstrak sebagian di sini, RewriteDriverFactory. Upaya integrasi Anda akan dimulai dengan membuat subclass untuknya dan mengimplementasikan metode virtual murni.

Anda mungkin harus menerapkan port untuk class berikut (lihat contoh penerapan di direktori apache/):

Kemudian untuk benar-benar memanggil kode, Anda harus membuat FooRewriteDriverFactory untuk membuat semua objek, lalu StartParseWithType(url, content_type), ParseText(text) di antara setiap flush server, dan FinishParse() untuk setiap permintaan.

Silakan kirim email ke milis pengembangan kami jika Anda sedang mempelajari masalah ini atau mengalami masalah. Kami tidak menjamin bahwa antarmuka internal akan tetap sama, sehingga kami dapat merusak port dengan mudah jika kami tidak mengetahui bahwa Anda menggunakannya.