Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F3059705
http_metadata.c
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
http_metadata.c
View Options
#include
<compat.h>
// IWYU pragma: keep
#include
<stdio.h>
#include
<string.h>
#include
"ant.h"
#include
"modules/http_metadata.h"
static
const
char
*
const
http_methods
[]
=
{
"ACL"
,
"BIND"
,
"CHECKOUT"
,
"CONNECT"
,
"COPY"
,
"DELETE"
,
"GET"
,
"HEAD"
,
"LINK"
,
"LOCK"
,
"M-SEARCH"
,
"MERGE"
,
"MKACTIVITY"
,
"MKCALENDAR"
,
"MKCOL"
,
"MOVE"
,
"NOTIFY"
,
"OPTIONS"
,
"PATCH"
,
"POST"
,
"PROPFIND"
,
"PROPPATCH"
,
"PURGE"
,
"PUT"
,
"QUERY"
,
"REBIND"
,
"REPORT"
,
"SEARCH"
,
"SOURCE"
,
"SUBSCRIBE"
,
"TRACE"
,
"UNBIND"
,
"UNLINK"
,
"UNLOCK"
,
"UNSUBSCRIBE"
};
typedef
struct
{
int
code
;
const
char
*
text
;
}
http_status_entry_t
;
static
const
http_status_entry_t
http_status_codes
[]
=
{
{
200
,
"OK"
},
{
201
,
"Created"
},
{
202
,
"Accepted"
},
{
204
,
"No Content"
},
{
301
,
"Moved Permanently"
},
{
302
,
"Found"
},
{
303
,
"See Other"
},
{
304
,
"Not Modified"
},
{
307
,
"Temporary Redirect"
},
{
308
,
"Permanent Redirect"
},
{
400
,
"Bad Request"
},
{
401
,
"Unauthorized"
},
{
403
,
"Forbidden"
},
{
404
,
"Not Found"
},
{
405
,
"Method Not Allowed"
},
{
408
,
"Request Timeout"
},
{
409
,
"Conflict"
},
{
410
,
"Gone"
},
{
413
,
"Payload Too Large"
},
{
415
,
"Unsupported Media Type"
},
{
421
,
"Misdirected Request"
},
{
429
,
"Too Many Requests"
},
{
500
,
"Internal Server Error"
},
{
501
,
"Not Implemented"
},
{
502
,
"Bad Gateway"
},
{
503
,
"Service Unavailable"
},
{
504
,
"Gateway Timeout"
}
};
static
ant_value_t
http_metadata_make_methods
(
ant_t
*
js
)
{
ant_value_t
methods
=
js_mkarr
(
js
);
size_t
count
=
sizeof
(
http_methods
)
/
sizeof
(
http_methods
[
0
]);
for
(
size_t
i
=
0
;
i
<
count
;
i
++
)
{
js_arr_push
(
js
,
methods
,
js_mkstr
(
js
,
http_methods
[
i
],
strlen
(
http_methods
[
i
])));
}
return
methods
;
}
static
ant_value_t
http_metadata_make_status_codes
(
ant_t
*
js
)
{
ant_value_t
status_codes
=
js_mkobj
(
js
);
size_t
count
=
sizeof
(
http_status_codes
)
/
sizeof
(
http_status_codes
[
0
]);
char
code_buf
[
16
];
for
(
size_t
i
=
0
;
i
<
count
;
i
++
)
{
int
code
=
http_status_codes
[
i
].
code
;
size_t
code_len
=
(
size_t
)
snprintf
(
code_buf
,
sizeof
(
code_buf
),
"%d"
,
code
);
js_setprop
(
js
,
status_codes
,
js_mkstr
(
js
,
code_buf
,
code_len
),
js_mkstr
(
js
,
http_status_codes
[
i
].
text
,
strlen
(
http_status_codes
[
i
].
text
))
);
}
return
status_codes
;
}
ant_value_t
internal_http_metadata_library
(
ant_t
*
js
)
{
ant_value_t
lib
=
js_mkobj
(
js
);
js_set
(
js
,
lib
,
"METHODS"
,
http_metadata_make_methods
(
js
));
js_set
(
js
,
lib
,
"STATUS_CODES"
,
http_metadata_make_status_codes
(
js
));
return
lib
;
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Fri, Apr 3, 6:52 PM (1 d, 20 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
521585
Default Alt Text
http_metadata.c (2 KB)
Attached To
Mode
rANT Ant
Attached
Detach File
Event Timeline
Log In to Comment