serve.[ch]: don't pass "struct strvec *keys" to commands
The serve.c API added in ed10cb952d
(serve: introduce git-serve,
2018-03-15) was passing in the raw capabilities "keys", but nothing
downstream of it ever used them.
Let's remove that code because it's not needed. If we do end up
needing to pass information about the advertisement in the future
it'll make more sense to have serve.c parse the capabilities keys and
pass the result of its parsing, rather than expecting expecting its
API users to parse the same keys again.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
85baaed475
commit
28a592e4f4
@ -138,8 +138,7 @@ static int ls_refs_config(const char *var, const char *value, void *data)
|
|||||||
return parse_hide_refs_config(var, value, "uploadpack");
|
return parse_hide_refs_config(var, value, "uploadpack");
|
||||||
}
|
}
|
||||||
|
|
||||||
int ls_refs(struct repository *r, struct strvec *keys,
|
int ls_refs(struct repository *r, struct packet_reader *request)
|
||||||
struct packet_reader *request)
|
|
||||||
{
|
{
|
||||||
struct ls_refs_data data;
|
struct ls_refs_data data;
|
||||||
|
|
||||||
|
@ -2,10 +2,8 @@
|
|||||||
#define LS_REFS_H
|
#define LS_REFS_H
|
||||||
|
|
||||||
struct repository;
|
struct repository;
|
||||||
struct strvec;
|
|
||||||
struct packet_reader;
|
struct packet_reader;
|
||||||
int ls_refs(struct repository *r, struct strvec *keys,
|
int ls_refs(struct repository *r, struct packet_reader *request);
|
||||||
struct packet_reader *request);
|
|
||||||
int ls_refs_advertise(struct repository *r, struct strbuf *value);
|
int ls_refs_advertise(struct repository *r, struct strbuf *value);
|
||||||
|
|
||||||
#endif /* LS_REFS_H */
|
#endif /* LS_REFS_H */
|
||||||
|
@ -74,8 +74,7 @@ static void send_info(struct repository *r, struct packet_writer *writer,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int cap_object_info(struct repository *r, struct strvec *keys,
|
int cap_object_info(struct repository *r, struct packet_reader *request)
|
||||||
struct packet_reader *request)
|
|
||||||
{
|
{
|
||||||
struct requested_info info;
|
struct requested_info info;
|
||||||
struct packet_writer writer;
|
struct packet_writer writer;
|
||||||
|
@ -2,9 +2,7 @@
|
|||||||
#define PROTOCOL_CAPS_H
|
#define PROTOCOL_CAPS_H
|
||||||
|
|
||||||
struct repository;
|
struct repository;
|
||||||
struct strvec;
|
|
||||||
struct packet_reader;
|
struct packet_reader;
|
||||||
int cap_object_info(struct repository *r, struct strvec *keys,
|
int cap_object_info(struct repository *r, struct packet_reader *request);
|
||||||
struct packet_reader *request);
|
|
||||||
|
|
||||||
#endif /* PROTOCOL_CAPS_H */
|
#endif /* PROTOCOL_CAPS_H */
|
||||||
|
9
serve.c
9
serve.c
@ -60,16 +60,13 @@ struct protocol_capability {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Function called when a client requests the capability as a command.
|
* Function called when a client requests the capability as a command.
|
||||||
* The function will be provided the capabilities requested via 'keys'
|
* Will be provided a struct packet_reader 'request' which it should
|
||||||
* as well as a struct packet_reader 'request' which the command should
|
|
||||||
* use to read the command specific part of the request. Every command
|
* use to read the command specific part of the request. Every command
|
||||||
* MUST read until a flush packet is seen before sending a response.
|
* MUST read until a flush packet is seen before sending a response.
|
||||||
*
|
*
|
||||||
* This field should be NULL for capabilities which are not commands.
|
* This field should be NULL for capabilities which are not commands.
|
||||||
*/
|
*/
|
||||||
int (*command)(struct repository *r,
|
int (*command)(struct repository *r, struct packet_reader *request);
|
||||||
struct strvec *keys,
|
|
||||||
struct packet_reader *request);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct protocol_capability capabilities[] = {
|
static struct protocol_capability capabilities[] = {
|
||||||
@ -294,7 +291,7 @@ static int process_request(void)
|
|||||||
if (has_capability(&keys, "session-id", &client_sid))
|
if (has_capability(&keys, "session-id", &client_sid))
|
||||||
trace2_data_string("transfer", NULL, "client-sid", client_sid);
|
trace2_data_string("transfer", NULL, "client-sid", client_sid);
|
||||||
|
|
||||||
command->command(the_repository, &keys, &reader);
|
command->command(the_repository, &reader);
|
||||||
|
|
||||||
strvec_clear(&keys);
|
strvec_clear(&keys);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1655,8 +1655,7 @@ enum fetch_state {
|
|||||||
FETCH_DONE,
|
FETCH_DONE,
|
||||||
};
|
};
|
||||||
|
|
||||||
int upload_pack_v2(struct repository *r, struct strvec *keys,
|
int upload_pack_v2(struct repository *r, struct packet_reader *request)
|
||||||
struct packet_reader *request)
|
|
||||||
{
|
{
|
||||||
enum fetch_state state = FETCH_PROCESS_ARGS;
|
enum fetch_state state = FETCH_PROCESS_ARGS;
|
||||||
struct upload_pack_data data;
|
struct upload_pack_data data;
|
||||||
|
@ -11,10 +11,8 @@ struct upload_pack_options {
|
|||||||
void upload_pack(struct upload_pack_options *options);
|
void upload_pack(struct upload_pack_options *options);
|
||||||
|
|
||||||
struct repository;
|
struct repository;
|
||||||
struct strvec;
|
|
||||||
struct packet_reader;
|
struct packet_reader;
|
||||||
int upload_pack_v2(struct repository *r, struct strvec *keys,
|
int upload_pack_v2(struct repository *r, struct packet_reader *request);
|
||||||
struct packet_reader *request);
|
|
||||||
|
|
||||||
struct strbuf;
|
struct strbuf;
|
||||||
int upload_pack_advertise(struct repository *r,
|
int upload_pack_advertise(struct repository *r,
|
||||||
|
Loading…
Reference in New Issue
Block a user