#define KEY_AGENT "User-Agent"
-const char* const response_headers[] = {
+static const char* const response_headers_dglb[] = {
"Cache-Control: no-cache",
- "Accept: application/x-dglb",
- "User-Agent: edg_wll_Server/" PROTO_VERSION "/" COMP_PROTO,
+ "Server: edg_wll_Server/" PROTO_VERSION "/" COMP_PROTO,
"Content-Type: application/x-dglb",
NULL
};
+static const char* const response_headers_html[] = {
+ "Cache-Control: no-cache",
+ "Server: edg_wll_Server/" PROTO_VERSION "/" COMP_PROTO,
+ "Content-Type: text/html",
+ NULL
+};
+
extern int edg_wll_NotifNewServer(edg_wll_Context,
edg_wll_QueryRec const * const *, char const *,
const edg_wll_NotifId, time_t *);
} else ret = HTTP_NOTALLOWED;
errV21: asprintf(response,"HTTP/1.1 %d %s",ret,edg_wll_HTTPErrorMessage(ret));
- *headersOut = (char **) response_headers;
+ *headersOut = (char **) (html? response_headers_html : response_headers_dglb);
if ((ret != HTTP_OK) && html)
*bodyOut = edg_wll_ErrorToHTML(ctx,ret);
else
flags = (requestPTR[1]=='?') ? edg_wll_string_to_stat_flags(requestPTR + 2) : 0;
// FIXME: edg_wll_UserJobs should take flags as parameter
- if (!ctx->peerName) {
- edg_wll_SetError(ctx,EPERM,"Operation not permitted.");
- ret = HTTP_UNAUTH;
- }
switch (edg_wll_UserJobs(ctx,&jobsOut,NULL)) {
case 0: if (html) edg_wll_UserJobsToHTML(ctx, jobsOut, &message);
else ret = HTTP_OK;
break;
case ENOENT: ret = HTTP_NOTFOUND; break;
+ case EPERM: ret = HTTP_UNAUTH; break;
+ case EDG_WLL_ERROR_NOINDEX: ret = HTTP_UNAVAIL; break;
default: ret = HTTP_INTERNAL; break;
}
if (!html && (ret != HTTP_INTERNAL))
}
switch ( retCode ) {
- // case EPERM : ret = HTTP_UNAUTH;
- // /* soft-error fall through */
case 0: if (html) ret = HTTP_NOTIMPL;
else ret = HTTP_OK;
} else ret = HTTP_NOTALLOWED;
err: asprintf(response,"HTTP/1.1 %d %s",ret,edg_wll_HTTPErrorMessage(ret));
- *headersOut = (char **) response_headers;
+ *headersOut = (char **) (html ? response_headers_html : response_headers_dglb);
if ((ret != HTTP_OK) && html)
*bodyOut = edg_wll_ErrorToHTML(ctx,ret);
else