X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-hreq.h;h=9ccf6c9b836f0b27bf9d211db59ea791a49e004c;hb=9c4961a0e68458061171aef5f3b30a9b1fa8e333;hp=d4041d7662584be140955d5573cf7b7a565b5a05;hpb=8112056eecede587bf884f56629858c8b21bdbec;p=src%2Fapp-framework-binder.git diff --git a/src/afb-hreq.h b/src/afb-hreq.h index d4041d76..9ccf6c9b 100644 --- a/src/afb-hreq.h +++ b/src/afb-hreq.h @@ -21,8 +21,16 @@ struct AFB_clientCtx; struct json_object; struct hreq_data; struct afb_hsrv; +struct afb_req_itf; +struct locale_search; + +extern const struct afb_req_itf afb_hreq_req_itf; struct afb_hreq { + /* + * CAUTION: 'context' field should be the first because there + * is an implicit convertion to struct afb_context + */ struct afb_context context; int refcount; struct afb_hsrv *hsrv; @@ -34,6 +42,7 @@ struct afb_hreq { int suspended; int replied; const char *version; + const char *lang; const char *url; size_t lenurl; const char *tail; @@ -54,7 +63,13 @@ extern int afb_hreq_reply_file_if_exist(struct afb_hreq *request, int dirfd, con extern int afb_hreq_reply_file(struct afb_hreq *request, int dirfd, const char *filename); -extern int afb_hreq_redirect_to(struct afb_hreq *request, const char *url); +extern int afb_hreq_reply_locale_file_if_exist(struct afb_hreq *hreq, struct locale_search *search, const char *filename); + +extern int afb_hreq_reply_locale_file(struct afb_hreq *hreq, struct locale_search *search, const char *filename); + +extern void afb_hreq_redirect_to(struct afb_hreq *request, const char *url, int add_query_part); + +extern int afb_hreq_redirect_to_ending_slash_if_needed(struct afb_hreq *hreq); extern const char *afb_hreq_get_cookie(struct afb_hreq *hreq, const char *name);