summaryrefslogtreecommitdiffstats
path: root/src/core/transport
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/transport')
-rw-r--r--src/core/transport/http/common/http_worker.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/core/transport/http/common/http_worker.c b/src/core/transport/http/common/http_worker.c
index 8a8dfe6..353169c 100644
--- a/src/core/transport/http/common/http_worker.c
+++ b/src/core/transport/http/common/http_worker.c
@@ -242,12 +242,19 @@ axis2_http_worker_process_request(
axis2_char_t *session_id = NULL;
cookie_header_value = axis2_http_header_get_value(cookie_header, env);
- session_id = axis2_http_transport_utils_get_session_id_from_cookie(env,
+ if(cookie_header_value)
+ {
+ session_id = axis2_http_transport_utils_get_session_id_from_cookie(env,
cookie_header_value);
- if(session_id)
- session_str = env->get_session_fn((void *) conf_ctx, session_id);
+ }
+ if(session_id && env->get_session_fn)
+ {
+ session_str = env->get_session_fn((void *) conf_ctx, session_id);
+ }
if(session_str)
- axis2_http_transport_utils_set_session(env, msg_ctx, session_str);
+ {
+ axis2_http_transport_utils_set_session(env, msg_ctx, session_str);
+ }
}
/*connection_header = axis2_http_simple_request_get_first_header(simple_request, env,