Пример #1
0
Файл: json.c Проект: Hmaal/slash
void
sl_init_ext_json(sl_vm_t* vm)
{
    SLVAL JSON = sl_define_class(vm, "JSON", vm->lib.Object);
    SLVAL JSON_ParseError = sl_define_class3(vm, sl_intern(vm, "ParseError"), vm->lib.SyntaxError, JSON);
    SLVAL JSON_DumpError = sl_define_class3(vm, sl_intern(vm, "DumpError"), vm->lib.SyntaxError, JSON);
    sl_define_singleton_method(vm, JSON, "parse", -2, sl_json_parse);
    sl_define_singleton_method(vm, JSON, "dump", 1, sl_json_dump);
    
    sl_define_singleton_method(vm, JSON, "decode", -2, sl_json_parse);
    sl_define_singleton_method(vm, JSON, "encode", 1, sl_json_dump);

    vm->store[cJSON] = JSON;
    vm->store[cJSON_ParseError] = JSON_ParseError;
    vm->store[cJSON_DumpError] = JSON_DumpError;
}
Пример #2
0
void
sl_init_request(sl_vm_t* vm)
{
    SLVAL Request = sl_new(vm, vm->lib.Object, 0, NULL);
    sl_vm_store_put(vm, &Request_, Request);
    sl_define_singleton_method(vm, Request, "get", 0, request_get);
    sl_define_singleton_method(vm, Request, "post", 0, request_post);
    sl_define_singleton_method(vm, Request, "post_data", 0, request_post_data);
    sl_define_singleton_method(vm, Request, "headers", 0, request_headers);
    sl_define_singleton_method(vm, Request, "env", 0, request_env);
    sl_define_singleton_method(vm, Request, "cookies", 0, request_cookies);
    sl_define_singleton_method(vm, Request, "method", 0, request_method);
    sl_define_singleton_method(vm, Request, "safe_method", 0, request_safe_method);
    sl_define_singleton_method(vm, Request, "uri", 0, request_uri);
    sl_define_singleton_method(vm, Request, "path_info", 0, request_path_info);
    sl_define_singleton_method(vm, Request, "query_string", 0, request_query_string);
    sl_define_singleton_method(vm, Request, "remote_addr", 0, request_remote_addr);
    sl_define_singleton_method(vm, Request, "[]", 1, request_index);
    
    sl_class_set_const(vm, vm->lib.Object, "Request", Request);
}