Browse Source

Updates in Java and ASP.Net APIs

master
Artyom Beilis 7 years ago
parent
commit
1de5a2c590
4 changed files with 30 additions and 14 deletions
  1. +7
    -1
      contrib/integration/session/asp.net/API.cs
  2. +4
    -2
      contrib/integration/session/asp.net/Session.cs
  3. +7
    -3
      contrib/integration/session/java/com/cppcms/session/API.java
  4. +12
    -8
      contrib/integration/session/java/com/cppcms/session/Session.java

+ 7
- 1
contrib/integration/session/asp.net/API.cs View File

@@ -121,9 +121,15 @@ internal class API {

[DllImport(library,EntryPoint="cppcms_capi_session_get_session_cookie_name")]
public static extern IntPtr session_get_session_cookie_name(IntPtr session);
[DllImport(library,EntryPoint="cppcms_capi_session_set_session_cookie")]
public static extern IntPtr session_set_session_cookie(IntPtr session,byte[] val);
[DllImport(library,EntryPoint="cppcms_capi_session_add_cookie_name")]
public static extern IntPtr session_add_cookie_name(IntPtr session,byte[] val);

[DllImport(library,EntryPoint="cppcms_capi_session_load")]
public static extern int session_load(IntPtr session,byte[] session_cookie_value);
public static extern int session_load(IntPtr session);

[DllImport(library,EntryPoint="cppcms_capi_session_save")]
public static extern int session_save(IntPtr session);


+ 4
- 2
contrib/integration/session/asp.net/Session.cs View File

@@ -86,10 +86,12 @@ public class Session : SessionBase {
public void Load(HttpRequest r)
{
HttpCookie c=r.Cookies[SessionCookieName];
string val;
if(c==null)
Load("");
val = "";
else
Load(c.Value);
val = c.Value;
API.session_set_session_cookie(d,tb(val));
}
public void Save() { API.session_save(d); check(); }
public Cookie[] Cookies {


+ 7
- 3
contrib/integration/session/java/com/cppcms/session/API.java View File

@@ -50,7 +50,9 @@ public class API {
int cppcms_capi_session_set_on_server(Pointer session,int is_on_server);
int cppcms_capi_session_get_on_server(Pointer session);
String cppcms_capi_session_get_session_cookie_name(Pointer session);
int cppcms_capi_session_load(Pointer session,String session_cookie_value);
int cppcms_capi_session_set_session_cookie(Pointer session,String value);
int cppcms_capi_session_add_cookie_name(Pointer session,String value);
int cppcms_capi_session_load(Pointer session);
int cppcms_capi_session_save(Pointer session);
Pointer cppcms_capi_session_cookie_first(Pointer session);
Pointer cppcms_capi_session_cookie_next(Pointer session);
@@ -96,9 +98,11 @@ public class API {
for(int i=0;i<names.length;i++) {
try {
loadLibrary(names[i]);
if(api != null)
break;
}
catch(Exception e) {}
catch(Error e){}
catch(Exception e) { }
catch(Error e){ }
}
if(api==null) {
StringBuilder sb = new StringBuilder();


+ 12
- 8
contrib/integration/session/java/com/cppcms/session/Session.java View File

@@ -152,11 +152,6 @@ public class Session extends SessionBase{
check();
return r;
}
public void load(String cookieValue)
{
API.api.cppcms_capi_session_load(d,cookieValue);
check();
}
public void save()
{
API.api.cppcms_capi_session_save(d);
@@ -214,17 +209,26 @@ public class Session extends SessionBase{
check();
return cookies.toArray(new String[cookies.size()]);
}
public void load(String sessionCookie)
{
API.api.cppcms_capi_session_set_session_cookie(d,sessionCookie);
API.api.cppcms_capi_session_load(d);
check();
}
public void load(HttpServletRequest request)
{
String cookieName = getSessionCookieName();
Cookie[] cookies = request.getCookies();
String sessionCookie = "";
for(int i=0;i<cookies.length;i++) {
if(cookies[i].getName().equals(cookieName)) {
load(cookies[i].getValue());
return;
sessionCookie = cookies[i].getValue();
}
API.api.cppcms_capi_session_add_cookie_name(d,cookies[i].getValue());
}
load("");
API.api.cppcms_capi_session_set_session_cookie(d,sessionCookie);
API.api.cppcms_capi_session_load(d);
check();
}
public void save(HttpServletResponse response)
{


Loading…
Cancel
Save