feat(landerctl): implement placeholder requests
							parent
							
								
									b833d0ed74
								
							
						
					
					
						commit
						bdbc750f7f
					
				| 
						 | 
				
			
			@ -34,6 +34,7 @@ typedef enum landerctl_mode {
 | 
			
		|||
  landerctl_mode_short,
 | 
			
		||||
  landerctl_mode_paste,
 | 
			
		||||
  landerctl_mode_file,
 | 
			
		||||
  landerctl_mode_placeholder,
 | 
			
		||||
} landerctl_mode;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -64,6 +65,7 @@ int landerctl_parse_args(landerctl_args *out, int argc, char **argv);
 | 
			
		|||
int landerctl_cmd_short(landerctl_args *args);
 | 
			
		||||
int landerctl_cmd_paste(landerctl_args *args);
 | 
			
		||||
int landerctl_cmd_file(landerctl_args *args);
 | 
			
		||||
int landerctl_cmd_placeholder(landerctl_args *args);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Initialize a CURL object
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,7 +55,7 @@ int landerctl_parse_args(landerctl_args *args, int argc, char **argv) {
 | 
			
		|||
 | 
			
		||||
  const char *cfg_path = NULL;
 | 
			
		||||
 | 
			
		||||
  while ((c = getopt(argc, argv, "SPFsvc:")) != -1) {
 | 
			
		||||
  while ((c = getopt(argc, argv, "SPFHsvc:")) != -1) {
 | 
			
		||||
    switch (c) {
 | 
			
		||||
    case 'S':
 | 
			
		||||
      args->mode = landerctl_mode_short;
 | 
			
		||||
| 
						 | 
				
			
			@ -66,6 +66,9 @@ int landerctl_parse_args(landerctl_args *args, int argc, char **argv) {
 | 
			
		|||
    case 'F':
 | 
			
		||||
      args->mode = landerctl_mode_file;
 | 
			
		||||
      break;
 | 
			
		||||
    case 'H':
 | 
			
		||||
      args->mode = landerctl_mode_placeholder;
 | 
			
		||||
      break;
 | 
			
		||||
    case 's':
 | 
			
		||||
      args->secure = true;
 | 
			
		||||
      break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -145,3 +145,30 @@ int landerctl_cmd_file(landerctl_args *args) {
 | 
			
		|||
 | 
			
		||||
  return res;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int landerctl_cmd_placeholder(landerctl_args *args) {
 | 
			
		||||
  // TODO argument count check
 | 
			
		||||
  int res;
 | 
			
		||||
  landerctl_curl curl;
 | 
			
		||||
 | 
			
		||||
  if ((res = landerctl_curl_init(&curl))) {
 | 
			
		||||
    return res;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const char *key = args->args.arr[0];
 | 
			
		||||
  if ((res = landerctl_curl_set_common(&curl, args, key))) {
 | 
			
		||||
    return res;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  curl_easy_setopt(curl.curl, CURLOPT_POST, 1L);
 | 
			
		||||
 | 
			
		||||
  res = landerctl_curl_perform(&curl);
 | 
			
		||||
 | 
			
		||||
  if (res == 0) {
 | 
			
		||||
    landerctl_curl_inspect(&curl, args);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  landerctl_curl_cleanup(&curl);
 | 
			
		||||
 | 
			
		||||
  return res;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,6 +43,9 @@ int landerctl_curl_set_common(landerctl_curl *curl, landerctl_args *args,
 | 
			
		|||
  case landerctl_mode_file:
 | 
			
		||||
    mode_char = 'f';
 | 
			
		||||
    break;
 | 
			
		||||
  case landerctl_mode_placeholder:
 | 
			
		||||
    mode_char = 'h';
 | 
			
		||||
    break;
 | 
			
		||||
  // Shouldn't be able  to happen
 | 
			
		||||
  default:
 | 
			
		||||
    return 10;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,6 +25,9 @@ int main(int argc, char **argv) {
 | 
			
		|||
  case landerctl_mode_file:
 | 
			
		||||
    res = landerctl_cmd_file(&args);
 | 
			
		||||
    break;
 | 
			
		||||
  case landerctl_mode_placeholder:
 | 
			
		||||
    res = landerctl_cmd_placeholder(&args);
 | 
			
		||||
    break;
 | 
			
		||||
  default:
 | 
			
		||||
    res = 7;
 | 
			
		||||
    break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue