Changes in uspace/lib/http/src/response.c [5a6cc679:a35b458] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/http/src/response.c
r5a6cc679 ra35b458 51 51 receive_buffer_mark_t start; 52 52 receive_buffer_mark_t end; 53 53 54 54 recv_mark(rb, &start); 55 55 errno_t rc = recv_while(rb, is_digit); … … 59 59 } 60 60 recv_mark(rb, &end); 61 61 62 62 rc = recv_cut_str(rb, &start, &end, str); 63 63 recv_unmark(rb, &start); … … 70 70 char *str = NULL; 71 71 errno_t rc = receive_number(rb, &str); 72 73 if (rc != EOK) 74 return rc; 75 72 73 if (rc != EOK) 74 return rc; 75 76 76 rc = str_uint8_t(str, NULL, 10, true, out_value); 77 77 free(str); 78 78 79 79 return rc; 80 80 } … … 84 84 char *str = NULL; 85 85 errno_t rc = receive_number(rb, &str); 86 87 if (rc != EOK) 88 return rc; 89 86 87 if (rc != EOK) 88 return rc; 89 90 90 rc = str_uint16_t(str, NULL, 10, true, out_value); 91 91 free(str); 92 92 93 93 return rc; 94 94 } … … 116 116 uint16_t status; 117 117 char *message = NULL; 118 118 119 119 errno_t rc = expect(rb, "HTTP/"); 120 120 if (rc != EOK) 121 121 return rc; 122 122 123 123 rc = receive_uint8_t(rb, &version.major); 124 124 if (rc != EOK) 125 125 return rc; 126 126 127 127 rc = expect(rb, "."); 128 128 if (rc != EOK) 129 129 return rc; 130 130 131 131 rc = receive_uint8_t(rb, &version.minor); 132 132 if (rc != EOK) 133 133 return rc; 134 134 135 135 rc = expect(rb, " "); 136 136 if (rc != EOK) 137 137 return rc; 138 138 139 139 rc = receive_uint16_t(rb, &status); 140 140 if (rc != EOK) 141 141 return rc; 142 142 143 143 rc = expect(rb, " "); 144 144 if (rc != EOK) 145 145 return rc; 146 146 147 147 receive_buffer_mark_t msg_start; 148 148 recv_mark(rb, &msg_start); 149 149 150 150 rc = recv_while(rb, is_not_newline); 151 151 if (rc != EOK) { … … 153 153 return rc; 154 154 } 155 155 156 156 receive_buffer_mark_t msg_end; 157 157 recv_mark(rb, &msg_end); 158 158 159 159 if (out_message) { 160 160 rc = recv_cut_str(rb, &msg_start, &msg_end, &message); … … 165 165 } 166 166 } 167 167 168 168 recv_unmark(rb, &msg_start); 169 169 recv_unmark(rb, &msg_end); 170 170 171 171 size_t nrecv; 172 172 rc = recv_eol(rb, &nrecv); … … 177 177 return rc; 178 178 } 179 179 180 180 if (out_version) 181 181 *out_version = version; … … 195 195 memset(resp, 0, sizeof(http_response_t)); 196 196 http_headers_init(&resp->headers); 197 197 198 198 errno_t rc = http_receive_status(rb, &resp->version, &resp->status, 199 199 &resp->message); 200 200 if (rc != EOK) 201 201 goto error; 202 202 203 203 rc = http_headers_receive(rb, &resp->headers, max_headers_size, 204 204 max_headers_count); 205 205 if (rc != EOK) 206 206 goto error; 207 207 208 208 size_t nrecv; 209 209 rc = recv_eol(rb, &nrecv); … … 212 212 if (rc != EOK) 213 213 goto error; 214 214 215 215 *out_response = resp; 216 216 217 217 return EOK; 218 218 error:
Note:
See TracChangeset
for help on using the changeset viewer.