Skip to content

Commit aa64689

Browse files
authored
feat: add missing http methods (#26)
* feat: add support for missing http methods HEAD, OPTIONS, CONNECT, TRACE, QUERY Note that query is being discussed in an RFC, link in code * chore: update dist * docs
1 parent 8aff414 commit aa64689

File tree

6 files changed

+27
-4
lines changed

6 files changed

+27
-4
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,15 @@ Currently the library export just CurlGenerator, and it's a function with just 1
3333
```js
3434
/**
3535
* @param {string} url - the request url
36-
* @param {string} [param.method] - a value between ("GET" | "POST" | "PUT" | "PATCH" | "DELETE") it's case insensitive
36+
* @param {string} [param.method] - a value between ("GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS" | "CONNECT" | "TRACE" | "QUERY") it's case insensitive
3737
* @param {Object<string, string>} [param.headers] - an object containing the headers of the request
3838
* @param {Object} [body] - the body of the request
3939
*/
4040
```
4141

42-
Example of a more "andvanced" use
42+
**Note:** The QUERY method is not yet an official HTTP standard but is based on an [IETF draft proposal](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-safe-method-w-body).
43+
44+
Example of a more "advanced" use
4345
```js
4446
import {CurlGenerator} from "curl-generator";
4547

dist/curl-generator.cjs.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,11 @@ var getCurlMethod = function (method) {
100100
PUT: "-X PUT",
101101
PATCH: "-X PATCH",
102102
DELETE: "-X DELETE",
103+
HEAD: "-X HEAD",
104+
OPTIONS: "-X OPTIONS",
105+
CONNECT: "-X CONNECT",
106+
TRACE: "-X TRACE",
107+
QUERY: "-X QUERY",
103108
};
104109
result = " " + types[method.toUpperCase()];
105110
}

dist/curl-generator.esm.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,11 @@ var getCurlMethod = function (method) {
9696
PUT: "-X PUT",
9797
PATCH: "-X PATCH",
9898
DELETE: "-X DELETE",
99+
HEAD: "-X HEAD",
100+
OPTIONS: "-X OPTIONS",
101+
CONNECT: "-X CONNECT",
102+
TRACE: "-X TRACE",
103+
QUERY: "-X QUERY",
99104
};
100105
result = " " + types[method.toUpperCase()];
101106
}

dist/curl-generator.umd.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,11 @@
102102
PUT: "-X PUT",
103103
PATCH: "-X PATCH",
104104
DELETE: "-X DELETE",
105+
HEAD: "-X HEAD",
106+
OPTIONS: "-X OPTIONS",
107+
CONNECT: "-X CONNECT",
108+
TRACE: "-X TRACE",
109+
QUERY: "-X QUERY",
105110
};
106111
result = " " + types[method.toUpperCase()];
107112
}

dist/main.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ declare type CurlAdditionalOptions = {
4848
verbose?: boolean;
4949
};
5050
declare type CurlRequest = {
51-
method?: "GET" | "get" | "POST" | "post" | "PUT" | "put" | "PATCH" | "patch" | "DELETE" | "delete";
51+
method?: "GET" | "get" | "POST" | "post" | "PUT" | "put" | "PATCH" | "patch" | "DELETE" | "delete" | "HEAD" | "head" | "OPTIONS" | "options" | "CONNECT" | "connect" | "TRACE" | "trace" | "QUERY" | "query";
5252
headers?: StringMap;
5353
body?: CurlBody;
5454
url: string;

src/main.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ type CurlAdditionalOptions = {
4949
};
5050

5151
type CurlRequest = {
52-
method?: "GET" | "get" | "POST" | "post" | "PUT" | "put" | "PATCH" | "patch" | "DELETE" | "delete",
52+
// Query is not official HTTP method, but it's in a RFC and we want to support it. https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-safe-method-w-body
53+
method?: "GET" | "get" | "POST" | "post" | "PUT" | "put" | "PATCH" | "patch" | "DELETE" | "delete" | "HEAD" | "head" | "OPTIONS" | "options" | "CONNECT" | "connect" | "TRACE" | "trace" | "QUERY" | "query",
5354
headers?: StringMap,
5455
body?: CurlBody,
5556
url: string,
@@ -72,6 +73,11 @@ const getCurlMethod = function (method?: string): string {
7273
PUT: "-X PUT",
7374
PATCH: "-X PATCH",
7475
DELETE: "-X DELETE",
76+
HEAD: "-X HEAD",
77+
OPTIONS: "-X OPTIONS",
78+
CONNECT: "-X CONNECT",
79+
TRACE: "-X TRACE",
80+
QUERY: "-X QUERY",
7581
};
7682
result = ` ${types[method.toUpperCase()]}`;
7783
}

0 commit comments

Comments
 (0)