src/server/conf.c

changeset 3
137197831306
parent 1
3c066d52342d
child 5
dbc01588686e
--- a/src/server/conf.c	Tue Sep 06 22:37:51 2011 +0200
+++ b/src/server/conf.c	Sun Oct 30 16:26:57 2011 +0100
@@ -34,6 +34,10 @@
 #include "httplistener.h"
 #include "conf.h"
 
+#include "vserver.h"
+
+VirtualServer *default_vs;
+
 void load_init_conf(char *file) {
     printf("load_init_conf\n");
 }
@@ -47,4 +51,66 @@
     conf->name = "default";
 
     http_listener_new(conf);
+
+    // virtual server
+    default_vs = vs_new();
+    default_vs->objset = create_test_objset();
+    default_vs->default_obj_name = "default";
+
+    // begin objset test
+    /*
+    httpd_objset *objset = default_vs->objset;
+    for(int i=0;i<objset->pos;i++) {
+        httpd_object *obj = objset->obj[i];
+        printf("<object [%s]>\n", obj->name);
+        for(int j=0;j<obj->nd;j++) {
+            dtable *dt;
+            switch(j) {
+                case NSAPIAuthTrans: {
+                    printf("  Get AuthTrans Directives\n");
+                    dt = object_get_dtable(obj, NSAPIAuthTrans);
+                    break;
+                }
+                case NSAPINameTrans: {
+                    printf("  Get NameTrans Directives\n");
+                    dt = object_get_dtable(obj, NSAPINameTrans);
+                    break;
+                }
+                case NSAPIPathCheck: {
+                    printf("  Get PathCheck Directives\n");
+                    dt = object_get_dtable(obj, NSAPIPathCheck);
+                    break;
+                }
+                case NSAPIService: {
+                    printf("  Get Service Directives\n");
+                    dt = object_get_dtable(obj, NSAPIService);
+                    break;
+                }
+                default: {
+                    printf("j: %d\n", j);
+                    dt = object_get_dtable(obj, j);
+                    break;
+                }
+            }
+            if(dt != NULL) {
+                printf("  dtable[%d].length = %d\n", dt, dt->ndir);
+            } else {
+                continue;
+            }
+            for(int k=0;k<dt->ndir;k++) {
+                directive *d = dt->directive[k];
+                if(d == NULL) {
+                    printf("d is null\n");
+                } else {
+                    printf("    Directive[%d].name = %s\n", d, d->func->name);
+                }
+            }
+        }
+    }
+    */
+    // end objset test
 }
+
+VirtualServer* conf_get_default_vs() {
+    return default_vs;
+}

mercurial