Current section
34 Versions
Jump to
Current section
34 Versions
Compare versions
10
files changed
+1111
additions
-1109
deletions
| @@ -1,61 +1,65 @@ | |
| 1 | - # Changelog |
| 2 | - |
| 3 | - ## v2.0.0 - 2021-02-22 |
| 4 | - |
| 5 | - - The `gleam/http.get_req_origin` function returns a `Result(String, Nil)` |
| 6 | - instead of an `Option(String)`. |
| 7 | - - Gleam v0.14 support. |
| 8 | - |
| 9 | - ## v1.7.0 - 2020-11-29 |
| 10 | - |
| 11 | - - The `gleam/http` module gains the `get_resp_cookies` function. |
| 12 | - - The `gleam/http.get_resp_cookie` function as been deprecated in favour of |
| 13 | - `gleam/http.get_resp_cookie`. |
| 14 | - |
| 15 | - ## v1.6.0 - 2020-11-19 |
| 16 | - |
| 17 | - - The `gleam/http.default_req` function returns a `Request(String)` again, |
| 18 | - reverting the change from v1.5.0. |
| 19 | - - The `gleam/http` module gains the `get_resp_cookie`, `set_scheme` and |
| 20 | - `set_port` functions. |
| 21 | - - The Gleam stdlib version requirement has been relaxed. |
| 22 | - |
| 23 | - ## v1.5.0 - 2020-09-23 |
| 24 | - |
| 25 | - - The `gleam/http` module gains the `get_req_origin` function. |
| 26 | - - Fix bug to correctly set cookie `Max-Age` attribute |
| 27 | - - The `gleam/http.default_req` function returns a `Request(BitString)` instead |
| 28 | - `Request(String)` |
| 29 | - |
| 30 | - ## v1.3.0 - 2020-08-04 |
| 31 | - |
| 32 | - - The `gleam/http/cookie` module has been merged into the `gleam/http` module. |
| 33 | - |
| 34 | - ## v1.2.0 - 2020-08-04 |
| 35 | - |
| 36 | - - The `gleam/http` module gains the `get_req_cookies`, `set_req_cookie` |
| 37 | - `set_resp_cookie` and `expire_resp_cookie` functions. |
| 38 | - - Created the `gleam/http/cookie` module with `SameSitePolicy` and `Attributes` |
| 39 | - types, along with associated functions `empty_attributes`, |
| 40 | - `default_attributes`, `expire_attributes` and `set_cookie_string`. |
| 41 | - |
| 42 | - ## v1.1.1 - 2020-07-21 |
| 43 | - |
| 44 | - - Relax dependency requirements on stdlib |
| 45 | - |
| 46 | - ## v1.1.0 - 2020-07-19 |
| 47 | - |
| 48 | - - The `gleam/http` module gains the `Scheme`, `Service`, `Request`, and |
| 49 | - `Response` types, along with associated functions `scheme_to_string`, |
| 50 | - `scheme_from_string`, `req_uri`, `response`, `path_segments`, `get_query`, |
| 51 | - `get_req_header`, `get_resp_header`, `prepend_req_header`, `seq_host`, |
| 52 | - `set_path`, `prepend_resp_header`, `set_method`, `set_body`, `set_query`, |
| 53 | - `req_from_uri`, `default_req`, and `redirect`. `set_resp_body`, |
| 54 | - `map_resp_body`, `map_req_body` `try_map_resp_body`, |
| 55 | - - Created the `gleam/http/middleware` module with the `Middleware` type and |
| 56 | - the `method_override`, `prepend_resp_header`, `map_resp_body` middleware |
| 57 | - functions. |
| 58 | - |
| 59 | - ## v1.0.0 - 2020-06-30 |
| 60 | - |
| 61 | - - Initial release. |
| 1 | + # Changelog |
| 2 | + |
| 3 | + ## v2.0.1 - 2021-08-14 |
| 4 | + |
| 5 | + - Upgraded for Gleam v0.16. |
| 6 | + |
| 7 | + ## v2.0.0 - 2021-02-22 |
| 8 | + |
| 9 | + - The `gleam/http.get_req_origin` function returns a `Result(String, Nil)` |
| 10 | + instead of an `Option(String)`. |
| 11 | + - Gleam v0.14 support. |
| 12 | + |
| 13 | + ## v1.7.0 - 2020-11-29 |
| 14 | + |
| 15 | + - The `gleam/http` module gains the `get_resp_cookies` function. |
| 16 | + - The `gleam/http.get_resp_cookie` function as been deprecated in favour of |
| 17 | + `gleam/http.get_resp_cookie`. |
| 18 | + |
| 19 | + ## v1.6.0 - 2020-11-19 |
| 20 | + |
| 21 | + - The `gleam/http.default_req` function returns a `Request(String)` again, |
| 22 | + reverting the change from v1.5.0. |
| 23 | + - The `gleam/http` module gains the `get_resp_cookie`, `set_scheme` and |
| 24 | + `set_port` functions. |
| 25 | + - The Gleam stdlib version requirement has been relaxed. |
| 26 | + |
| 27 | + ## v1.5.0 - 2020-09-23 |
| 28 | + |
| 29 | + - The `gleam/http` module gains the `get_req_origin` function. |
| 30 | + - Fix bug to correctly set cookie `Max-Age` attribute |
| 31 | + - The `gleam/http.default_req` function returns a `Request(BitString)` instead |
| 32 | + `Request(String)` |
| 33 | + |
| 34 | + ## v1.3.0 - 2020-08-04 |
| 35 | + |
| 36 | + - The `gleam/http/cookie` module has been merged into the `gleam/http` module. |
| 37 | + |
| 38 | + ## v1.2.0 - 2020-08-04 |
| 39 | + |
| 40 | + - The `gleam/http` module gains the `get_req_cookies`, `set_req_cookie` |
| 41 | + `set_resp_cookie` and `expire_resp_cookie` functions. |
| 42 | + - Created the `gleam/http/cookie` module with `SameSitePolicy` and `Attributes` |
| 43 | + types, along with associated functions `empty_attributes`, |
| 44 | + `default_attributes`, `expire_attributes` and `set_cookie_string`. |
| 45 | + |
| 46 | + ## v1.1.1 - 2020-07-21 |
| 47 | + |
| 48 | + - Relax dependency requirements on stdlib |
| 49 | + |
| 50 | + ## v1.1.0 - 2020-07-19 |
| 51 | + |
| 52 | + - The `gleam/http` module gains the `Scheme`, `Service`, `Request`, and |
| 53 | + `Response` types, along with associated functions `scheme_to_string`, |
| 54 | + `scheme_from_string`, `req_uri`, `response`, `path_segments`, `get_query`, |
| 55 | + `get_req_header`, `get_resp_header`, `prepend_req_header`, `seq_host`, |
| 56 | + `set_path`, `prepend_resp_header`, `set_method`, `set_body`, `set_query`, |
| 57 | + `req_from_uri`, `default_req`, and `redirect`. `set_resp_body`, |
| 58 | + `map_resp_body`, `map_req_body` `try_map_resp_body`, |
| 59 | + - Created the `gleam/http/middleware` module with the `Middleware` type and |
| 60 | + the `method_override`, `prepend_resp_header`, `map_resp_body` middleware |
| 61 | + functions. |
| 62 | + |
| 63 | + ## v1.0.0 - 2020-06-30 |
| 64 | + |
| 65 | + - Initial release. |
| @@ -1,191 +1,191 @@ | |
| 1 | - Apache License |
| 2 | - Version 2.0, January 2004 |
| 3 | - http://www.apache.org/licenses/ |
| 4 | - |
| 5 | - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION |
| 6 | - |
| 7 | - 1. Definitions. |
| 8 | - |
| 9 | - "License" shall mean the terms and conditions for use, reproduction, |
| 10 | - and distribution as defined by Sections 1 through 9 of this document. |
| 11 | - |
| 12 | - "Licensor" shall mean the copyright owner or entity authorized by |
| 13 | - the copyright owner that is granting the License. |
| 14 | - |
| 15 | - "Legal Entity" shall mean the union of the acting entity and all |
| 16 | - other entities that control, are controlled by, or are under common |
| 17 | - control with that entity. For the purposes of this definition, |
| 18 | - "control" means (i) the power, direct or indirect, to cause the |
| 19 | - direction or management of such entity, whether by contract or |
| 20 | - otherwise, or (ii) ownership of fifty percent (50%) or more of the |
| 21 | - outstanding shares, or (iii) beneficial ownership of such entity. |
| 22 | - |
| 23 | - "You" (or "Your") shall mean an individual or Legal Entity |
| 24 | - exercising permissions granted by this License. |
| 25 | - |
| 26 | - "Source" form shall mean the preferred form for making modifications, |
| 27 | - including but not limited to software source code, documentation |
| 28 | - source, and configuration files. |
| 29 | - |
| 30 | - "Object" form shall mean any form resulting from mechanical |
| 31 | - transformation or translation of a Source form, including but |
| 32 | - not limited to compiled object code, generated documentation, |
| 33 | - and conversions to other media types. |
| 34 | - |
| 35 | - "Work" shall mean the work of authorship, whether in Source or |
| 36 | - Object form, made available under the License, as indicated by a |
| 37 | - copyright notice that is included in or attached to the work |
| 38 | - (an example is provided in the Appendix below). |
| 39 | - |
| 40 | - "Derivative Works" shall mean any work, whether in Source or Object |
| 41 | - form, that is based on (or derived from) the Work and for which the |
| 42 | - editorial revisions, annotations, elaborations, or other modifications |
| 43 | - represent, as a whole, an original work of authorship. For the purposes |
| 44 | - of this License, Derivative Works shall not include works that remain |
| 45 | - separable from, or merely link (or bind by name) to the interfaces of, |
| 46 | - the Work and Derivative Works thereof. |
| 47 | - |
| 48 | - "Contribution" shall mean any work of authorship, including |
| 49 | - the original version of the Work and any modifications or additions |
| 50 | - to that Work or Derivative Works thereof, that is intentionally |
| 51 | - submitted to Licensor for inclusion in the Work by the copyright owner |
| 52 | - or by an individual or Legal Entity authorized to submit on behalf of |
| 53 | - the copyright owner. For the purposes of this definition, "submitted" |
| 54 | - means any form of electronic, verbal, or written communication sent |
| 55 | - to the Licensor or its representatives, including but not limited to |
| 56 | - communication on electronic mailing lists, source code control systems, |
| 57 | - and issue tracking systems that are managed by, or on behalf of, the |
| 58 | - Licensor for the purpose of discussing and improving the Work, but |
| 59 | - excluding communication that is conspicuously marked or otherwise |
| 60 | - designated in writing by the copyright owner as "Not a Contribution." |
| 61 | - |
| 62 | - "Contributor" shall mean Licensor and any individual or Legal Entity |
| 63 | - on behalf of whom a Contribution has been received by Licensor and |
| 64 | - subsequently incorporated within the Work. |
| 65 | - |
| 66 | - 2. Grant of Copyright License. Subject to the terms and conditions of |
| 67 | - this License, each Contributor hereby grants to You a perpetual, |
| 68 | - worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
| 69 | - copyright license to reproduce, prepare Derivative Works of, |
| 70 | - publicly display, publicly perform, sublicense, and distribute the |
| 71 | - Work and such Derivative Works in Source or Object form. |
| 72 | - |
| 73 | - 3. Grant of Patent License. Subject to the terms and conditions of |
| 74 | - this License, each Contributor hereby grants to You a perpetual, |
| 75 | - worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
| 76 | - (except as stated in this section) patent license to make, have made, |
| 77 | - use, offer to sell, sell, import, and otherwise transfer the Work, |
| 78 | - where such license applies only to those patent claims licensable |
| 79 | - by such Contributor that are necessarily infringed by their |
| 80 | - Contribution(s) alone or by combination of their Contribution(s) |
| 81 | - with the Work to which such Contribution(s) was submitted. If You |
| 82 | - institute patent litigation against any entity (including a |
| 83 | - cross-claim or counterclaim in a lawsuit) alleging that the Work |
| 84 | - or a Contribution incorporated within the Work constitutes direct |
| 85 | - or contributory patent infringement, then any patent licenses |
| 86 | - granted to You under this License for that Work shall terminate |
| 87 | - as of the date such litigation is filed. |
| 88 | - |
| 89 | - 4. Redistribution. You may reproduce and distribute copies of the |
| 90 | - Work or Derivative Works thereof in any medium, with or without |
| 91 | - modifications, and in Source or Object form, provided that You |
| 92 | - meet the following conditions: |
| 93 | - |
| 94 | - (a) You must give any other recipients of the Work or |
| 95 | - Derivative Works a copy of this License; and |
| 96 | - |
| 97 | - (b) You must cause any modified files to carry prominent notices |
| 98 | - stating that You changed the files; and |
| 99 | - |
| 100 | - (c) You must retain, in the Source form of any Derivative Works |
| 101 | - that You distribute, all copyright, patent, trademark, and |
| 102 | - attribution notices from the Source form of the Work, |
| 103 | - excluding those notices that do not pertain to any part of |
| 104 | - the Derivative Works; and |
| 105 | - |
| 106 | - (d) If the Work includes a "NOTICE" text file as part of its |
| 107 | - distribution, then any Derivative Works that You distribute must |
| 108 | - include a readable copy of the attribution notices contained |
| 109 | - within such NOTICE file, excluding those notices that do not |
| 110 | - pertain to any part of the Derivative Works, in at least one |
| 111 | - of the following places: within a NOTICE text file distributed |
| 112 | - as part of the Derivative Works; within the Source form or |
| 113 | - documentation, if provided along with the Derivative Works; or, |
| 114 | - within a display generated by the Derivative Works, if and |
| 115 | - wherever such third-party notices normally appear. The contents |
| 116 | - of the NOTICE file are for informational purposes only and |
| 117 | - do not modify the License. You may add Your own attribution |
| 118 | - notices within Derivative Works that You distribute, alongside |
| 119 | - or as an addendum to the NOTICE text from the Work, provided |
| 120 | - that such additional attribution notices cannot be construed |
| 121 | - as modifying the License. |
| 122 | - |
| 123 | - You may add Your own copyright statement to Your modifications and |
| 124 | - may provide additional or different license terms and conditions |
| 125 | - for use, reproduction, or distribution of Your modifications, or |
| 126 | - for any such Derivative Works as a whole, provided Your use, |
| 127 | - reproduction, and distribution of the Work otherwise complies with |
| 128 | - the conditions stated in this License. |
| 129 | - |
| 130 | - 5. Submission of Contributions. Unless You explicitly state otherwise, |
| 131 | - any Contribution intentionally submitted for inclusion in the Work |
| 132 | - by You to the Licensor shall be under the terms and conditions of |
| 133 | - this License, without any additional terms or conditions. |
| 134 | - Notwithstanding the above, nothing herein shall supersede or modify |
| 135 | - the terms of any separate license agreement you may have executed |
| 136 | - with Licensor regarding such Contributions. |
| 137 | - |
| 138 | - 6. Trademarks. This License does not grant permission to use the trade |
| 139 | - names, trademarks, service marks, or product names of the Licensor, |
| 140 | - except as required for reasonable and customary use in describing the |
| 141 | - origin of the Work and reproducing the content of the NOTICE file. |
| 142 | - |
| 143 | - 7. Disclaimer of Warranty. Unless required by applicable law or |
| 144 | - agreed to in writing, Licensor provides the Work (and each |
| 145 | - Contributor provides its Contributions) on an "AS IS" BASIS, |
| 146 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
| 147 | - implied, including, without limitation, any warranties or conditions |
| 148 | - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A |
| 149 | - PARTICULAR PURPOSE. You are solely responsible for determining the |
| 150 | - appropriateness of using or redistributing the Work and assume any |
| 151 | - risks associated with Your exercise of permissions under this License. |
| 152 | - |
| 153 | - 8. Limitation of Liability. In no event and under no legal theory, |
| 154 | - whether in tort (including negligence), contract, or otherwise, |
| 155 | - unless required by applicable law (such as deliberate and grossly |
| 156 | - negligent acts) or agreed to in writing, shall any Contributor be |
| 157 | - liable to You for damages, including any direct, indirect, special, |
| 158 | - incidental, or consequential damages of any character arising as a |
| 159 | - result of this License or out of the use or inability to use the |
| 160 | - Work (including but not limited to damages for loss of goodwill, |
| 161 | - work stoppage, computer failure or malfunction, or any and all |
| 162 | - other commercial damages or losses), even if such Contributor |
| 163 | - has been advised of the possibility of such damages. |
| 164 | - |
| 165 | - 9. Accepting Warranty or Additional Liability. While redistributing |
| 166 | - the Work or Derivative Works thereof, You may choose to offer, |
| 167 | - and charge a fee for, acceptance of support, warranty, indemnity, |
| 168 | - or other liability obligations and/or rights consistent with this |
| 169 | - License. However, in accepting such obligations, You may act only |
| 170 | - on Your own behalf and on Your sole responsibility, not on behalf |
| 171 | - of any other Contributor, and only if You agree to indemnify, |
| 172 | - defend, and hold each Contributor harmless for any liability |
| 173 | - incurred by, or claims asserted against, such Contributor by reason |
| 174 | - of your accepting any such warranty or additional liability. |
| 175 | - |
| 176 | - END OF TERMS AND CONDITIONS |
| 177 | - |
| 178 | - Copyright 2019, Louis Pilfold <louis@lpil.uk>. |
| 179 | - |
| 180 | - Licensed under the Apache License, Version 2.0 (the "License"); |
| 181 | - you may not use this file except in compliance with the License. |
| 182 | - You may obtain a copy of the License at |
| 183 | - |
| 184 | - http://www.apache.org/licenses/LICENSE-2.0 |
| 185 | - |
| 186 | - Unless required by applicable law or agreed to in writing, software |
| 187 | - distributed under the License is distributed on an "AS IS" BASIS, |
| 188 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 189 | - See the License for the specific language governing permissions and |
| 190 | - limitations under the License. |
| 191 | - |
| 1 | + Apache License |
| 2 | + Version 2.0, January 2004 |
| 3 | + http://www.apache.org/licenses/ |
| 4 | + |
| 5 | + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION |
| 6 | + |
| 7 | + 1. Definitions. |
| 8 | + |
| 9 | + "License" shall mean the terms and conditions for use, reproduction, |
| 10 | + and distribution as defined by Sections 1 through 9 of this document. |
| 11 | + |
| 12 | + "Licensor" shall mean the copyright owner or entity authorized by |
| 13 | + the copyright owner that is granting the License. |
| 14 | + |
| 15 | + "Legal Entity" shall mean the union of the acting entity and all |
| 16 | + other entities that control, are controlled by, or are under common |
| 17 | + control with that entity. For the purposes of this definition, |
| 18 | + "control" means (i) the power, direct or indirect, to cause the |
| 19 | + direction or management of such entity, whether by contract or |
| 20 | + otherwise, or (ii) ownership of fifty percent (50%) or more of the |
| 21 | + outstanding shares, or (iii) beneficial ownership of such entity. |
| 22 | + |
| 23 | + "You" (or "Your") shall mean an individual or Legal Entity |
| 24 | + exercising permissions granted by this License. |
| 25 | + |
| 26 | + "Source" form shall mean the preferred form for making modifications, |
| 27 | + including but not limited to software source code, documentation |
| 28 | + source, and configuration files. |
| 29 | + |
| 30 | + "Object" form shall mean any form resulting from mechanical |
| 31 | + transformation or translation of a Source form, including but |
| 32 | + not limited to compiled object code, generated documentation, |
| 33 | + and conversions to other media types. |
| 34 | + |
| 35 | + "Work" shall mean the work of authorship, whether in Source or |
| 36 | + Object form, made available under the License, as indicated by a |
| 37 | + copyright notice that is included in or attached to the work |
| 38 | + (an example is provided in the Appendix below). |
| 39 | + |
| 40 | + "Derivative Works" shall mean any work, whether in Source or Object |
| 41 | + form, that is based on (or derived from) the Work and for which the |
| 42 | + editorial revisions, annotations, elaborations, or other modifications |
| 43 | + represent, as a whole, an original work of authorship. For the purposes |
| 44 | + of this License, Derivative Works shall not include works that remain |
| 45 | + separable from, or merely link (or bind by name) to the interfaces of, |
| 46 | + the Work and Derivative Works thereof. |
| 47 | + |
| 48 | + "Contribution" shall mean any work of authorship, including |
| 49 | + the original version of the Work and any modifications or additions |
| 50 | + to that Work or Derivative Works thereof, that is intentionally |
| 51 | + submitted to Licensor for inclusion in the Work by the copyright owner |
| 52 | + or by an individual or Legal Entity authorized to submit on behalf of |
| 53 | + the copyright owner. For the purposes of this definition, "submitted" |
| 54 | + means any form of electronic, verbal, or written communication sent |
| 55 | + to the Licensor or its representatives, including but not limited to |
| 56 | + communication on electronic mailing lists, source code control systems, |
| 57 | + and issue tracking systems that are managed by, or on behalf of, the |
| 58 | + Licensor for the purpose of discussing and improving the Work, but |
| 59 | + excluding communication that is conspicuously marked or otherwise |
| 60 | + designated in writing by the copyright owner as "Not a Contribution." |
| 61 | + |
| 62 | + "Contributor" shall mean Licensor and any individual or Legal Entity |
| 63 | + on behalf of whom a Contribution has been received by Licensor and |
| 64 | + subsequently incorporated within the Work. |
| 65 | + |
| 66 | + 2. Grant of Copyright License. Subject to the terms and conditions of |
| 67 | + this License, each Contributor hereby grants to You a perpetual, |
| 68 | + worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
| 69 | + copyright license to reproduce, prepare Derivative Works of, |
| 70 | + publicly display, publicly perform, sublicense, and distribute the |
| 71 | + Work and such Derivative Works in Source or Object form. |
| 72 | + |
| 73 | + 3. Grant of Patent License. Subject to the terms and conditions of |
| 74 | + this License, each Contributor hereby grants to You a perpetual, |
| 75 | + worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
| 76 | + (except as stated in this section) patent license to make, have made, |
| 77 | + use, offer to sell, sell, import, and otherwise transfer the Work, |
| 78 | + where such license applies only to those patent claims licensable |
| 79 | + by such Contributor that are necessarily infringed by their |
| 80 | + Contribution(s) alone or by combination of their Contribution(s) |
| 81 | + with the Work to which such Contribution(s) was submitted. If You |
| 82 | + institute patent litigation against any entity (including a |
| 83 | + cross-claim or counterclaim in a lawsuit) alleging that the Work |
| 84 | + or a Contribution incorporated within the Work constitutes direct |
| 85 | + or contributory patent infringement, then any patent licenses |
| 86 | + granted to You under this License for that Work shall terminate |
| 87 | + as of the date such litigation is filed. |
| 88 | + |
| 89 | + 4. Redistribution. You may reproduce and distribute copies of the |
| 90 | + Work or Derivative Works thereof in any medium, with or without |
| 91 | + modifications, and in Source or Object form, provided that You |
| 92 | + meet the following conditions: |
| 93 | + |
| 94 | + (a) You must give any other recipients of the Work or |
| 95 | + Derivative Works a copy of this License; and |
| 96 | + |
| 97 | + (b) You must cause any modified files to carry prominent notices |
| 98 | + stating that You changed the files; and |
| 99 | + |
| 100 | + (c) You must retain, in the Source form of any Derivative Works |
| 101 | + that You distribute, all copyright, patent, trademark, and |
| 102 | + attribution notices from the Source form of the Work, |
| 103 | + excluding those notices that do not pertain to any part of |
| 104 | + the Derivative Works; and |
| 105 | + |
| 106 | + (d) If the Work includes a "NOTICE" text file as part of its |
| 107 | + distribution, then any Derivative Works that You distribute must |
| 108 | + include a readable copy of the attribution notices contained |
| 109 | + within such NOTICE file, excluding those notices that do not |
| 110 | + pertain to any part of the Derivative Works, in at least one |
| 111 | + of the following places: within a NOTICE text file distributed |
| 112 | + as part of the Derivative Works; within the Source form or |
| 113 | + documentation, if provided along with the Derivative Works; or, |
| 114 | + within a display generated by the Derivative Works, if and |
| 115 | + wherever such third-party notices normally appear. The contents |
| 116 | + of the NOTICE file are for informational purposes only and |
| 117 | + do not modify the License. You may add Your own attribution |
| 118 | + notices within Derivative Works that You distribute, alongside |
| 119 | + or as an addendum to the NOTICE text from the Work, provided |
| 120 | + that such additional attribution notices cannot be construed |
| 121 | + as modifying the License. |
| 122 | + |
| 123 | + You may add Your own copyright statement to Your modifications and |
| 124 | + may provide additional or different license terms and conditions |
| 125 | + for use, reproduction, or distribution of Your modifications, or |
| 126 | + for any such Derivative Works as a whole, provided Your use, |
| 127 | + reproduction, and distribution of the Work otherwise complies with |
| 128 | + the conditions stated in this License. |
| 129 | + |
| 130 | + 5. Submission of Contributions. Unless You explicitly state otherwise, |
| 131 | + any Contribution intentionally submitted for inclusion in the Work |
| 132 | + by You to the Licensor shall be under the terms and conditions of |
| 133 | + this License, without any additional terms or conditions. |
| 134 | + Notwithstanding the above, nothing herein shall supersede or modify |
| 135 | + the terms of any separate license agreement you may have executed |
| 136 | + with Licensor regarding such Contributions. |
| 137 | + |
| 138 | + 6. Trademarks. This License does not grant permission to use the trade |
| 139 | + names, trademarks, service marks, or product names of the Licensor, |
| 140 | + except as required for reasonable and customary use in describing the |
| 141 | + origin of the Work and reproducing the content of the NOTICE file. |
| 142 | + |
| 143 | + 7. Disclaimer of Warranty. Unless required by applicable law or |
| 144 | + agreed to in writing, Licensor provides the Work (and each |
| 145 | + Contributor provides its Contributions) on an "AS IS" BASIS, |
| 146 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
| 147 | + implied, including, without limitation, any warranties or conditions |
| 148 | + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A |
| 149 | + PARTICULAR PURPOSE. You are solely responsible for determining the |
| 150 | + appropriateness of using or redistributing the Work and assume any |
| 151 | + risks associated with Your exercise of permissions under this License. |
| 152 | + |
| 153 | + 8. Limitation of Liability. In no event and under no legal theory, |
| 154 | + whether in tort (including negligence), contract, or otherwise, |
| 155 | + unless required by applicable law (such as deliberate and grossly |
| 156 | + negligent acts) or agreed to in writing, shall any Contributor be |
| 157 | + liable to You for damages, including any direct, indirect, special, |
| 158 | + incidental, or consequential damages of any character arising as a |
| 159 | + result of this License or out of the use or inability to use the |
| 160 | + Work (including but not limited to damages for loss of goodwill, |
| 161 | + work stoppage, computer failure or malfunction, or any and all |
| 162 | + other commercial damages or losses), even if such Contributor |
| 163 | + has been advised of the possibility of such damages. |
| 164 | + |
| 165 | + 9. Accepting Warranty or Additional Liability. While redistributing |
| 166 | + the Work or Derivative Works thereof, You may choose to offer, |
| 167 | + and charge a fee for, acceptance of support, warranty, indemnity, |
| 168 | + or other liability obligations and/or rights consistent with this |
| 169 | + License. However, in accepting such obligations, You may act only |
| 170 | + on Your own behalf and on Your sole responsibility, not on behalf |
| 171 | + of any other Contributor, and only if You agree to indemnify, |
| 172 | + defend, and hold each Contributor harmless for any liability |
| 173 | + incurred by, or claims asserted against, such Contributor by reason |
| 174 | + of your accepting any such warranty or additional liability. |
| 175 | + |
| 176 | + END OF TERMS AND CONDITIONS |
| 177 | + |
| 178 | + Copyright 2019, Louis Pilfold <louis@lpil.uk>. |
| 179 | + |
| 180 | + Licensed under the Apache License, Version 2.0 (the "License"); |
| 181 | + you may not use this file except in compliance with the License. |
| 182 | + You may obtain a copy of the License at |
| 183 | + |
| 184 | + http://www.apache.org/licenses/LICENSE-2.0 |
| 185 | + |
| 186 | + Unless required by applicable law or agreed to in writing, software |
| 187 | + distributed under the License is distributed on an "AS IS" BASIS, |
| 188 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 189 | + See the License for the specific language governing permissions and |
| 190 | + limitations under the License. |
| 191 | + |
| @@ -1,58 +1,58 @@ | |
| 1 | - # Gleam HTTP |
| 2 | - |
| 3 | - Types and functions for HTTP clients and servers! |
| 4 | - |
| 5 | - ## HTTP Service Example |
| 6 | - |
| 7 | - ```rust |
| 8 | - import gleam/http/elli |
| 9 | - import gleam/http.{Request, Response} |
| 10 | - import gleam/bit_builder.{BitBuilder} |
| 11 | - |
| 12 | - // Define a HTTP service |
| 13 | - // |
| 14 | - pub fn my_service(req: Request(BitString)) -> Response(BitBuilder) { |
| 15 | - let body = bit_builder.from_string("Hello, world!") |
| 16 | - |
| 17 | - http.response(200) |
| 18 | - |> http.prepend_resp_header("made-with", "Gleam") |
| 19 | - |> http.set_resp_body(body) |
| 20 | - } |
| 21 | - |
| 22 | - // Start it on port 3000 using the Elli web server |
| 23 | - // |
| 24 | - pub fn start() { |
| 25 | - elli.start(my_service, on_port: 3000) |
| 26 | - } |
| 27 | - ``` |
| 28 | - |
| 29 | - ## Server adapters |
| 30 | - |
| 31 | - In the example above the Elli Erlang web server is used to run the Gleam HTTP |
| 32 | - service. Here's a full list of the server adapters available, sorted |
| 33 | - alphabetically. |
| 34 | - |
| 35 | - | Adapter | About | |
| 36 | - | --- | --- | |
| 37 | - | [gleam_cowboy][cowboy-adapter] | [Cowboy][cowboy] is an Erlang HTTP2 & HTTP1.1 web server | |
| 38 | - | [gleam_elli][elli-adapter] | [Elli][elli] is an Erlang HTTP1.1 web server | |
| 39 | - | [gleam_plug][plug-adapter] | [Plug][plug] is an Elixir web application interface | |
| 40 | - |
| 41 | - [cowboy]:https://github.com/ninenines/cowboy |
| 42 | - [cowboy-adapter]: https://github.com/gleam-lang/cowboy |
| 43 | - [elli]:https://github.com/elli-lib/elli |
| 44 | - [elli-adapter]: https://github.com/gleam-lang/elli |
| 45 | - [plug]:https://github.com/elixir-plug/plug |
| 46 | - [plug-adapter]: https://github.com/gleam-lang/plug |
| 47 | - |
| 48 | - ## Client adapters |
| 49 | - |
| 50 | - Client adapters are used to send HTTP requests to services over the network. |
| 51 | - Here's a full list of the client adapters available, sorted alphabetically. |
| 52 | - |
| 53 | - | Adapter | About | |
| 54 | - | --- | --- | |
| 55 | - | [gleam_httpc][httpc-adapter] | [httpc][httpc] is a HTTP client included with Erlang | |
| 56 | - |
| 57 | - [httpc]: https://erlang.org/doc/man/httpc.html |
| 58 | - [httpc-adapter]: https://github.com/gleam-lang/httpc |
| 1 | + # Gleam HTTP |
| 2 | + |
| 3 | + Types and functions for HTTP clients and servers! |
| 4 | + |
| 5 | + ## HTTP Service Example |
| 6 | + |
| 7 | + ```rust |
| 8 | + import gleam/http/elli |
| 9 | + import gleam/http.{Request, Response} |
| 10 | + import gleam/bit_builder.{BitBuilder} |
| 11 | + |
| 12 | + // Define a HTTP service |
| 13 | + // |
| 14 | + pub fn my_service(req: Request(BitString)) -> Response(BitBuilder) { |
| 15 | + let body = bit_builder.from_string("Hello, world!") |
| 16 | + |
| 17 | + http.response(200) |
| 18 | + |> http.prepend_resp_header("made-with", "Gleam") |
| 19 | + |> http.set_resp_body(body) |
| 20 | + } |
| 21 | + |
| 22 | + // Start it on port 3000 using the Elli web server |
| 23 | + // |
| 24 | + pub fn start() { |
| 25 | + elli.start(my_service, on_port: 3000) |
| 26 | + } |
| 27 | + ``` |
| 28 | + |
| 29 | + ## Server adapters |
| 30 | + |
| 31 | + In the example above the Elli Erlang web server is used to run the Gleam HTTP |
| 32 | + service. Here's a full list of the server adapters available, sorted |
| 33 | + alphabetically. |
| 34 | + |
| 35 | + | Adapter | About | |
| 36 | + | --- | --- | |
| 37 | + | [gleam_cowboy][cowboy-adapter] | [Cowboy][cowboy] is an Erlang HTTP2 & HTTP1.1 web server | |
| 38 | + | [gleam_elli][elli-adapter] | [Elli][elli] is an Erlang HTTP1.1 web server | |
| 39 | + | [gleam_plug][plug-adapter] | [Plug][plug] is an Elixir web application interface | |
| 40 | + |
| 41 | + [cowboy]:https://github.com/ninenines/cowboy |
| 42 | + [cowboy-adapter]: https://github.com/gleam-lang/cowboy |
| 43 | + [elli]:https://github.com/elli-lib/elli |
| 44 | + [elli-adapter]: https://github.com/gleam-lang/elli |
| 45 | + [plug]:https://github.com/elixir-plug/plug |
| 46 | + [plug-adapter]: https://github.com/gleam-lang/plug |
| 47 | + |
| 48 | + ## Client adapters |
| 49 | + |
| 50 | + Client adapters are used to send HTTP requests to services over the network. |
| 51 | + Here's a full list of the client adapters available, sorted alphabetically. |
| 52 | + |
| 53 | + | Adapter | About | |
| 54 | + | --- | --- | |
| 55 | + | [gleam_httpc][httpc-adapter] | [httpc][httpc] is a HTTP client included with Erlang | |
| 56 | + |
| 57 | + [httpc]: https://erlang.org/doc/man/httpc.html |
| 58 | + [httpc-adapter]: https://github.com/gleam-lang/httpc |
| @@ -13,5 +13,5 @@ | |
| 13 13 | [{<<"gleam_stdlib">>, |
| 14 14 | [{<<"app">>,<<"gleam_stdlib">>}, |
| 15 15 | {<<"optional">>,false}, |
| 16 | - {<<"requirement">>,<<"~> 0.14">>}]}]}. |
| 17 | - {<<"version">>,<<"2.0.0">>}. |
| 16 | + {<<"requirement">>,<<"~> 0.16">>}]}]}. |
| 17 | + {<<"version">>,<<"2.0.1">>}. |
| @@ -1,18 +1,18 @@ | |
| 1 | - {erl_opts, [debug_info]}. |
| 2 | - {src_dirs, ["src", "gen/src"]}. |
| 3 | - |
| 4 | - {profiles, [ |
| 5 | - {test, [{src_dirs, ["src", "test", "gen/src", "gen/test"]}]} |
| 6 | - ]}. |
| 7 | - |
| 8 | - {shell, [ |
| 9 | - % {config, "config/sys.config"}, |
| 10 | - {apps, [gleam_stdlib]} |
| 11 | - ]}. |
| 12 | - |
| 13 | - |
| 14 | - {project_plugins, [rebar_gleam, rebar3_hex]}. |
| 15 | - |
| 16 | - {deps, [ |
| 17 | - {gleam_stdlib, "~> 0.14"} |
| 18 | - ]}. |
| 1 | + {erl_opts, [debug_info]}. |
| 2 | + {src_dirs, ["src", "gen/src"]}. |
| 3 | + |
| 4 | + {profiles, [ |
| 5 | + {test, [{src_dirs, ["src", "test", "gen/src", "gen/test"]}]} |
| 6 | + ]}. |
| 7 | + |
| 8 | + {shell, [ |
| 9 | + % {config, "config/sys.config"}, |
| 10 | + {apps, [gleam_stdlib]} |
| 11 | + ]}. |
| 12 | + |
| 13 | + |
| 14 | + {project_plugins, [rebar_gleam, rebar3_hex]}. |
| 15 | + |
| 16 | + {deps, [ |
| 17 | + {gleam_stdlib, "~> 0.16"} |
| 18 | + ]}. |
Loading more files…