Skip to content

Commit bb5cd7c

Browse files
committed
proof-of-concept is working
- Introduced `set_multipart_form.vi` for handling multipart form data. - Updated `set_output_file.vi` to enhance file output capabilities. - Modified `test_full_flow.vi` to improve testing coverage. - Updated `http_method_enum.ctl` for better HTTP method handling. - Added `support.path_to_string.vi` to facilitate path conversions. - Included new examples in the project structure for better usage demonstration. - Updated project files to reflect new dependencies and library structure. - Enhanced support functions for reading and freeing C strings in memory.
1 parent 37d85b0 commit bb5cd7c

28 files changed

+208
-118
lines changed

docs/pull_requests/multipart-uploads/labview_multipart_vis_specification.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This document specifies the LabVIEW VIs required to wrap the new multipart/form-
88
### Location
99
Create a new LabVIEW class at: `lv_src/MultipartForm/MultipartForm.lvclass`
1010

11-
### Core VIs Required
11+
### Core VIs Required
1212

1313
#### 1. `create.vi`
1414
**Purpose**: Create a new multipart form instance
@@ -43,7 +43,7 @@ Create a new LabVIEW class at: `lv_src/MultipartForm/MultipartForm.lvclass`
4343

4444
---
4545

46-
#### 3. `add_text_field.vi`
46+
#### 3. `add_text_field.vi`
4747
**Purpose**: Add a text field to the multipart form
4848
**Inputs**:
4949
- `multipart form in` (MultipartForm.lvclass)
@@ -63,7 +63,7 @@ Create a new LabVIEW class at: `lv_src/MultipartForm/MultipartForm.lvclass`
6363

6464
---
6565

66-
#### 4. `add_file.vi`
66+
#### 4. `add_file.vi`
6767
**Purpose**: Add a file from disk to the multipart form
6868
**Inputs**:
6969
- `multipart form in` (MultipartForm.lvclass)
@@ -83,7 +83,7 @@ Create a new LabVIEW class at: `lv_src/MultipartForm/MultipartForm.lvclass`
8383

8484
---
8585

86-
#### 5. `add_binary_data.vi`
86+
#### 5. `add_binary_data.vi`
8787
**Purpose**: Add binary data as a file part
8888
**Inputs**:
8989
- `multipart form in` (MultipartForm.lvclass)
@@ -120,7 +120,7 @@ Create a new LabVIEW class at: `lv_src/MultipartForm/MultipartForm.lvclass`
120120

121121
---
122122

123-
#### 7. `read_error_message.vi`
123+
#### 7. `read_error_message.vi`
124124
**Purpose**: Get the last error message from the multipart form
125125
**Inputs**:
126126
- `multipart form in` (MultipartForm.lvclass)
@@ -139,14 +139,14 @@ Create a new LabVIEW class at: `lv_src/MultipartForm/MultipartForm.lvclass`
139139

140140
---
141141

142-
## RequestBuilder Class Extension
142+
## RequestBuilder Class Extension
143143

144144
### Location
145145
Modify existing class at: `lv_src/RequestBuilder/RequestBuilder.lvclass`
146146

147147
### New VI Required
148148

149-
#### `set_multipart_form.vi`
149+
#### `set_multipart_form.vi`
150150
**Purpose**: Attach a multipart form to the request
151151
**Inputs**:
152152
- `request builder in` (RequestBuilder.lvclass)
@@ -166,14 +166,14 @@ Modify existing class at: `lv_src/RequestBuilder/RequestBuilder.lvclass`
166166

167167
---
168168

169-
## Library Updates
169+
## Library Updates
170170

171-
### reqwest.lvlib
171+
### reqwest.lvlib
172172
Add the following VIs to the library:
173173
- All MultipartForm class VIs
174174
- The new RequestBuilder VI
175175

176-
### reqwest.aliases
176+
### reqwest.aliases
177177
Add Call Library Function Node configurations for:
178178
- `multipart_form_create`
179179
- `multipart_form_destroy`
@@ -192,14 +192,14 @@ Add Call Library Function Node configurations for:
192192

193193
### Recommended Examples
194194

195-
#### 1. `Example - Multipart Text Fields.vi`
195+
#### 1. `Example - Multipart Text Fields.vi`
196196
Demonstrates:
197197
- Creating a multipart form
198198
- Adding multiple text fields
199199
- Sending the request
200200
- Cleaning up resources
201201

202-
#### 2. `Example - File Upload.vi`
202+
#### 2. `Example - File Upload.vi`
203203
Demonstrates:
204204
- Creating a multipart form
205205
- Adding a file from disk

lv_src/Client/Client.lvclass

Lines changed: 58 additions & 37 deletions
Large diffs are not rendered by default.

lv_src/Client/start_get_request.vi

-40 Bytes
Binary file not shown.
18.7 KB
Binary file not shown.
Binary file not shown.
22.1 KB
Binary file not shown.

lv_src/MultipartForm/MultipartForm.lvclass

Lines changed: 107 additions & 51 deletions
Large diffs are not rendered by default.
17.5 KB
Binary file not shown.

lv_src/MultipartForm/add_file.vi

17.1 KB
Binary file not shown.
16.4 KB
Binary file not shown.

0 commit comments

Comments
 (0)