mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
Http_server: Fix images not downloading on some Portal pages [#686]
This commit is contained in:
@@ -80,7 +80,8 @@ public class Xoh_page_wtr_wkr {
|
||||
Write_page_by_tid(ctx, hctx, page_mode, rv, mgr.Page_html_fmtr(), Gfh_utl.Escape_html_as_bry(html_bry));
|
||||
}
|
||||
else {
|
||||
hctx = Xoh_wtr_ctx.Basic;
|
||||
// NOTE: if HTTP, generate hdump html b/c of async image download; HTTP will later call make_mgr to substitute out <xoimg>; ISSUE#:686; DATE:2020-06-27
|
||||
hctx = app.Mode().Tid_is_http() ? Xoh_wtr_ctx.HttpServer : Xoh_wtr_ctx.Basic;
|
||||
Write_body(page_bfr, ctx, hctx, page);
|
||||
Write_page_by_tid(ctx, hctx, view_mode, rv, fmtr, page_bfr.To_bry_and_rls());
|
||||
scripting_mgr.Write(rv, wiki, page);
|
||||
@@ -170,7 +171,7 @@ public class Xoh_page_wtr_wkr {
|
||||
int page_id = wpg.Db().Page().Id();
|
||||
Hxtn_page_mgr html_data_mgr = wpg.Wikie().Hxtn_mgr();
|
||||
|
||||
if (!hctx.Mode_is_embeddable()) {
|
||||
if (!hctx.Mode_is_hdump_wo_db()) {
|
||||
wpg.Html_data().Indicators().HxtnSave(wpg.Wikie(), html_data_mgr, wpg, page_id);
|
||||
}
|
||||
|
||||
|
||||
@@ -101,6 +101,12 @@ public class Xow_hdump_mgr__load implements Gfo_invk {
|
||||
}
|
||||
}
|
||||
public byte[] Decode_as_bry(Bry_bfr bfr, Xoh_page hpg, byte[] src, boolean mode_is_diff) {hzip_mgr.Hctx().Mode_is_diff_(mode_is_diff); hzip_mgr.Decode(bfr, wiki, hpg, src); return bfr.To_bry_and_clear();}
|
||||
|
||||
public byte[] Parse(byte[] src, Xoae_page page) { // NOTE: currently, only used by HTTP_SERVER; may generalize later
|
||||
Xoh_page hpg = new Xoh_page();
|
||||
hpg.Ctor_by_hview(page.Wiki(), page.Url(), page.Ttl(), page.Db().Page().Id());
|
||||
return make_mgr.Parse(src, wiki, hpg);
|
||||
}
|
||||
public byte[] Parse(Xoh_page hpg, int zip_tid, int hzip_tid, byte[] src) {
|
||||
if (zip_tid > gplx.core.ios.streams.Io_stream_tid_.Tid__raw)
|
||||
src = zip_mgr.Unzip((byte)zip_tid, src);
|
||||
|
||||
@@ -29,9 +29,9 @@ public class Xoh_wtr_ctx {
|
||||
public byte[] Anch__href__bgn() {return anch__href__bgn;} private final byte[] anch__href__bgn;
|
||||
public byte[] Anch__href__end() {return anch__href__end;} private final byte[] anch__href__end;
|
||||
public int Hzip_tid() {return hzip_tid;} private final int hzip_tid;
|
||||
public boolean Mode_is_hdump() {return mode == TID_HDUMP || mode == TID_EMBEDDABLE;}
|
||||
public boolean Mode_is_file_dump() {return mode == TID_HDUMP || mode == TID_EMBEDDABLE;}
|
||||
public boolean Mode_is_embeddable() {return mode == TID_EMBEDDABLE;}
|
||||
public boolean Mode_is_hdump() {return mode == TID_HDUMP || mode == TID_EMBEDDABLE || mode == TID_HTTP_SERVER;}
|
||||
public boolean Mode_is_file_dump() {return mode == TID_HDUMP || mode == TID_EMBEDDABLE || mode == TID_HTTP_SERVER;}
|
||||
public boolean Mode_is_hdump_wo_db() {return mode == TID_EMBEDDABLE || mode == TID_HTTP_SERVER;}
|
||||
public boolean Mode_is_alt() {return mode == TID_ALT;}
|
||||
public boolean Mode_is_display_title() {return mode == TID_DISPLAY_TITLE;}
|
||||
public boolean Mode_is_popup() {return mode == TID_POPUP;}
|
||||
@@ -44,6 +44,7 @@ public class Xoh_wtr_ctx {
|
||||
, TID_HDUMP = 4
|
||||
, TID_FILE_DUMP = 5
|
||||
, TID_EMBEDDABLE = 6
|
||||
, TID_HTTP_SERVER = 7
|
||||
;
|
||||
|
||||
public static final Xoh_wtr_ctx
|
||||
@@ -53,6 +54,7 @@ public class Xoh_wtr_ctx {
|
||||
, Display_title = new Xoh_wtr_ctx(TID_DISPLAY_TITLE, Xoh_hzip_dict_.Hdb__htxt, Xoh_href_.Bry__wiki, null)
|
||||
, Popup = new Xoh_wtr_ctx(TID_POPUP, Xoh_hzip_dict_.Hdb__htxt, Xoh_href_.Bry__wiki, null)
|
||||
, Embeddable = new Xoh_wtr_ctx(TID_EMBEDDABLE, Xoh_hzip_dict_.Hdb__htxt, Xoh_href_.Bry__wiki, null)
|
||||
, HttpServer = new Xoh_wtr_ctx(TID_HTTP_SERVER, Xoh_hzip_dict_.Hdb__htxt, Xoh_href_.Bry__wiki, null)
|
||||
;
|
||||
|
||||
public static Xoh_wtr_ctx File_dump(byte[] anch__href__bgn, byte[] anch__href__end) {
|
||||
|
||||
Reference in New Issue
Block a user