This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-staging in repository https://gitbox.apache.org/repos/asf/thrift-website.git
The following commit(s) were added to refs/heads/asf-staging by this push: new 0568270 Automatic Site Publish by Buildbot 0568270 is described below commit 05682700dca90dc09c8f50826f68695735a88705 Author: buildbot <us...@infra.apache.org> AuthorDate: Sat Sep 2 11:26:05 2023 +0000 Automatic Site Publish by Buildbot --- output/docs/HowToContribute.html | 16 +++++----- output/docs/Languages.html | 8 ++--- output/docs/coding_standards.html | 10 +++--- output/docs/committers/HowToCommit.html | 4 +-- output/docs/committers/HowToThriftWebsite.html | 4 +-- output/docs/idl.html | 20 ++++++------ output/docs/install/centos.html | 4 +-- output/docs/install/debian.html | 2 +- output/docs/install/windows.html | 18 +++++------ output/download.html | 10 +++--- output/index.html | 10 +++--- output/lib/c_glib.html | 6 ++-- output/lib/cl.html | 4 +-- output/lib/cpp.html | 42 +++++++++++++------------- output/lib/d.html | 6 ++-- output/lib/go.html | 22 +++++++++----- output/lib/haxe.html | 6 ++-- output/lib/java.html | 12 ++++---- output/lib/js.html | 2 +- output/lib/netstd.html | 8 ++--- output/lib/nodejs.html | 36 +++++++++++----------- output/lib/ocaml.html | 12 ++++---- output/lib/st.html | 2 +- output/test/index.html | 6 ++-- output/test/keys.html | 6 ++-- 25 files changed, 141 insertions(+), 135 deletions(-) diff --git a/output/docs/HowToContribute.html b/output/docs/HowToContribute.html index 3f7b71a..71fcd5d 100644 --- a/output/docs/HowToContribute.html +++ b/output/docs/HowToContribute.html @@ -99,12 +99,12 @@ Client: [language(s) affected, comma separated, for example: "cpp,erl,perl"] <ul> <li>Remember to provide <em>tests</em> for all submitted changes!</li> <li>Use test-driven development (TDD): add a test that will isolate the bug <em>before</em> applying the change that fixes it.</li> - <li>Verify that you follow <a href="/docs/coding_standards">Thrift Coding Standards</a> (you can run ‘make style’, which ensures proper format for some languages).</li> + <li>Verify that you follow <a href="/docs/coding_standards">Thrift Coding Standards</a> (you can run ‘make style’, which ensures proper format for some languages).</li> <li>[<em>optional</em>] Verify that your change works on other platforms by adding a GitHub service hook to <a href="http://docs.travis-ci.com/user/getting-started/#Step-one%3A-Sign-in">Travis CI</a> and <a href="http://www.appveyor.com/docs">AppVeyor</a>. You can use this technique to run the Thrift CI jobs in your account to check your changes before they are made public. Every GitHub pull request into Thrift will run the full CI build and test suite on your changes.</li> </ul> </li> <li>Squash your changes to a single commit. This maintains clean change history.</li> - <li>Commit and push changes to your branch (please use issue name and description as commit title, e.g. “THRIFT-9999: make it perfect”), with the affected languages on the next line of the description.</li> + <li>Commit and push changes to your branch (please use issue name and description as commit title, e.g. “THRIFT-9999: make it perfect”), with the affected languages on the next line of the description.</li> <li>Use GitHub to create a pull request going from your branch to apache:master. Ensure that the Jira ticket number is at the beginning of the title of your pull request, same as the commit title.</li> <li>Wait for other contributors or committers to review your new addition, and for a CI build to complete.</li> <li>Wait for a committer to commit your patch. You can nudge the committers if necessary by sending a message to the <a href="https://thrift.apache.org/mailing">Apache Thrift mailing list</a>.</li> @@ -118,18 +118,18 @@ Client: [language(s) affected, comma separated, for example: "cpp,erl,perl"] <p>For unix systems, see our detailed instructions on the <a href="/build/docker/README.md">Docker README</a>.</p> -<h2 id="if-you-want-to-review-open-issues">If you want to review open issues…</h2> +<h2 id="if-you-want-to-review-open-issues">If you want to review open issues…</h2> <ol> <li>Review the <a href="https://github.com/apache/thrift/pulls">GitHub Pull Request Backlog</a>. Code reviews are open to all.</li> <li>Review the <a href="http://issues.apache.org/jira/browse/THRIFT">Jira issue tracker</a>. You can search for tickets relating to languages you are interested in or currently using with thrift, for example a Jira search (Issues -> Search For Issues) query of <code>project = THRIFT AND component in ("Erlang - Library") and status not in (resolved, closed)</code> will locate all the open Erlang Library issues.</li> </ol> -<h2 id="if-you-discovered-a-defect">If you discovered a defect…</h2> +<h2 id="if-you-discovered-a-defect">If you discovered a defect…</h2> <ol> <li>Check to see if the issue is already in the <a href="http://issues.apache.org/jira/browse/THRIFT">Jira issue tracker</a>.</li> - <li>If not, create a ticket describing the change you’re proposing in the Jira issue tracker.</li> + <li>If not, create a ticket describing the change you’re proposing in the Jira issue tracker.</li> <li>Contribute your code changes using the GitHub pull request method:</li> </ol> @@ -153,12 +153,12 @@ Client: [language(s) affected, comma separated, for example: "cpp,erl,perl"] <ol> <li>Use the command <code>git log</code> to identify how many commits you made since you began.</li> <li>Use the command <code>git rebase -i HEAD~N</code> where N is the number of commits.</li> - <li>Leave “pull” in the first line.</li> - <li>Change all other lines from “pull” to “fixup”.</li> + <li>Leave “pull” in the first line.</li> + <li>Change all other lines from “pull” to “fixup”.</li> <li>All your changes are now in a single commit.</li> </ol> -<p>If you already have a pull request outstanding, you will need to do a “force push” to overwrite it since you changed your commit history:</p> +<p>If you already have a pull request outstanding, you will need to do a “force push” to overwrite it since you changed your commit history:</p> <pre><code>git push -u origin THRIFT-9999 --force </code></pre> diff --git a/output/docs/Languages.html b/output/docs/Languages.html index d6285c9..62d31f7 100644 --- a/output/docs/Languages.html +++ b/output/docs/Languages.html @@ -85,11 +85,11 @@ for each language, however tested less thoroughly; check the README file inside each lib directory for additional details. Note: while a language may contain support for protocols, transports, and servers, the extent to which each is tested as part of the overall build process varies. The definitive integration test for -the project is called the “cross” test which executes a test matrix with clients +the project is called the “cross” test which executes a test matrix with clients and servers communicating across languages.</p> -<p>Thrift’s core transport (supported by all languages) is TSocket. -Thrift’s core protocol is TBinary, supported by all languages except for JavaScript.</p> +<p>Thrift’s core transport (supported by all languages) is TSocket. +Thrift’s core protocol is TBinary, supported by all languages except for JavaScript.</p> <table style="font-size: 60%; padding: 1px;"> <thead> @@ -216,7 +216,7 @@ Thrift’s core protocol is TBinary, supported by all languages except for J <td align="left"><a href="https://github.com/apache/thrift/blob/master/lib/go/README.md">Go</a></td> <!-- Since -----------------><td>0.7.0</td> <!-- Build Systems ---------><td><img src="/doc/images/cgrn.png" alt="Yes" /></td><td><img src="/doc/images/cred.png" alt="" /></td> -<!-- Language Levels -------><td>1.19.5</td><td>1.20</td> +<!-- Language Levels -------><td>1.20</td><td>1.21</td> <!-- Field types -----------><td><img src="/doc/images/cred.png" alt="" /></td> <!-- Low-Level Transports --><td><img src="/doc/images/cred.png" alt="" /></td><td><img src="/doc/images/cred.png" alt="" /></td><td><img src="/doc/images/cgrn.png" alt="Yes" /></td><td><img src="/doc/images/cred.png" alt="" /></td><td><img src="/doc/images/cgrn.png" alt="Yes" /></td><td><img src="/doc/images/cgrn.png" alt="Yes" /></td> <!-- Transport Wrappers ----><td><img src="/doc/images/cgrn.png" alt="Yes" /></td><td><img src="/doc/images/cgrn.png" alt="Yes" /></td><td><img src="/doc/images/cgrn.png" alt="Yes" /></td><td><img src="/doc/images/cgrn.png" alt="Yes" /></td> diff --git a/output/docs/coding_standards.html b/output/docs/coding_standards.html index e40773f..f648502 100644 --- a/output/docs/coding_standards.html +++ b/output/docs/coding_standards.html @@ -54,11 +54,11 @@ <p>Any fool can write code that a computer can understand. Good programmers write code that humans can understand. - – Martin Fowler, 1999</p> + – Martin Fowler, 1999</p> -<p>The purpose of this document is to make everyone’s life easier.</p> +<p>The purpose of this document is to make everyone’s life easier.</p> -<p>It’s easier when you read good, well-formatted, with a clearly defined purpose, code. +<p>It’s easier when you read good, well-formatted, with a clearly defined purpose, code. But the only way to read clean code is to write such.</p> <p>This document can help achieve that, but keep in mind that @@ -92,8 +92,8 @@ Code review is the best way to improve readability.</p> <ul> <li>Each file has to start with a comment containing <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License</a></li> <li>Public API of a library should be documented, preferably using format native for language-specific documentation generation tools (Javadoc, Doxygen etc.)</li> - <li>Other comments are discouraged - comments are lies. When one has to make comment it means one failed to write readable code. Instead of “I should write a comment here” think “I should clean it up”</li> - <li>Do not leave “TODO/FIXME” comments - file <a href="http://issues.apache.org/jira/browse/THRIFT">Jira</a> issue instead</li> + <li>Other comments are discouraged - comments are lies. When one has to make comment it means one failed to write readable code. Instead of “I should write a comment here” think “I should clean it up”</li> + <li>Do not leave “TODO/FIXME” comments - file <a href="http://issues.apache.org/jira/browse/THRIFT">Jira</a> issue instead</li> </ul> <h3 id="naming">Naming</h3> diff --git a/output/docs/committers/HowToCommit.html b/output/docs/committers/HowToCommit.html index bdceabf..fe404e7 100644 --- a/output/docs/committers/HowToCommit.html +++ b/output/docs/committers/HowToCommit.html @@ -74,8 +74,8 @@ <table> <tbody> <tr> - <td>curl https://issues.apache.org/jira/…</td> - <td>git apply –ignore-space-change</td> + <td>curl https://issues.apache.org/jira/…</td> + <td>git apply –ignore-space-change</td> </tr> </tbody> </table> diff --git a/output/docs/committers/HowToThriftWebsite.html b/output/docs/committers/HowToThriftWebsite.html index a27ee4d..43ce484 100644 --- a/output/docs/committers/HowToThriftWebsite.html +++ b/output/docs/committers/HowToThriftWebsite.html @@ -101,8 +101,8 @@ consistent experience with the various markdown parsers deployed by the CMS.</p> file” <a href="https://svn.apache.org/repos/asf/thrift/cms-site/trunk/lib/path.pm">lib/path.pm</a>. Update the following values and then following <b>Updating the Website</b> section below</p> -<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>current_release: "0.18.1" -current_release_date: "2023-MAR-01" +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>current_release: "0.19.0" +current_release_date: "2023-SEP-02" </code></pre></div></div> <h3 id="updating-the-website">Updating the website</h3> diff --git a/output/docs/idl.html b/output/docs/idl.html index 04aca21..7c4ad23 100644 --- a/output/docs/idl.html +++ b/output/docs/idl.html @@ -52,7 +52,7 @@ <h2 id="thrift-interface-description-language">Thrift interface description language</h2> -<p>For Thrift version 0.19.0.</p> +<p>For Thrift version 0.20.0.</p> <p>The Thrift interface definition language (IDL) allows for the definition of <a href="/docs/types">Thrift Types</a>. A Thrift IDL file is processed by the Thrift code generator to produce code for the various target languages to support the defined structs and services in the IDL file.</p> @@ -90,7 +90,7 @@ <h3 id="namespace">Namespace</h3> -<p>A namespace declares which namespaces/package/module/etc. the type definitions in this file will be declared in for the target languages. The namespace scope indicates which language the namespace applies to; a scope of ‘*’ indicates that the namespace applies to all target languages.</p> +<p>A namespace declares which namespaces/package/module/etc. the type definitions in this file will be declared in for the target languages. The namespace scope indicates which language the namespace applies to; a scope of ‘*’ indicates that the namespace applies to all target languages.</p> <pre><code>[5] Namespace ::= ( 'namespace' ( NamespaceScope Identifier ) ) @@ -192,7 +192,7 @@ <li>Default values: are written when the isset flag is set</li> </ul> -<p>Most language implementations use the recommended practice of so-called “isset” flags to indicate whether a particular optional field is set or not. Only fields with this flag set are written, and conversely the flag is only set when a field value has been read from the input stream.</p> +<p>Most language implementations use the recommended practice of so-called “isset” flags to indicate whether a particular optional field is set or not. Only fields with this flag set are written, and conversely the flag is only set when a field value has been read from the input stream.</p> <h4 id="default-requiredness-implicit">default requiredness (implicit)</h4> @@ -202,7 +202,7 @@ <li>Default values: may not be written (see next section)</li> </ul> -<p>Default requiredness is a good starting point. The desired behaviour is a mix of optional and required, hence the internal name “opt-in, req-out”. Although in theory these fields are supposed to be written (“req-out”), in reality unset fields are not always written. This is especially the case, when the field contains a <null> value, which by definition cannot be transported through thrift. The only way to achieve this is by not writing that field at all, and t [...] +<p>Default requiredness is a good starting point. The desired behaviour is a mix of optional and required, hence the internal name “opt-in, req-out”. Although in theory these fields are supposed to be written (“req-out”), in reality unset fields are not always written. This is especially the case, when the field contains a <null> value, which by definition cannot be transported through thrift. The only way to achieve this is by not writing that field at all, and that's what most language [...] <h4 id="semantics-of-default-values">Semantics of Default Values</h4> @@ -309,8 +309,8 @@ <ul> <li><a href="https://raw.githubusercontent.com/apache/thrift/master/test/ThriftTest.thrift">ThriftTest.thrift</a> used by the Thrift TestFramework</li> <li>Thrift <a href="/tutorial/">tutorial</a></li> - <li>Facebook’s <a href="https://raw.githubusercontent.com/apache/thrift/master/contrib/fb303/if/fb303.thrift">fb303.thrift</a></li> - <li><a href="http://cassandra.apache.org/">Apache Cassandra’s</a> Thrift IDL: <a href="https://gitbox.apache.org/repos/asf?p=cassandra.git;a=blob_plain;f=interface/cassandra.thrift;hb=refs/heads/cassandra-3.0">cassandra.thrift</a></li> + <li>Facebook’s <a href="https://raw.githubusercontent.com/apache/thrift/master/contrib/fb303/if/fb303.thrift">fb303.thrift</a></li> + <li><a href="http://cassandra.apache.org/">Apache Cassandra’s</a> Thrift IDL: <a href="https://gitbox.apache.org/repos/asf?p=cassandra.git;a=blob_plain;f=interface/cassandra.thrift;hb=refs/heads/cassandra-3.0">cassandra.thrift</a></li> <li><a href="https://github.com/evernote/evernote-thrift">Evernote API</a></li> </ul> @@ -319,19 +319,19 @@ <p>Initialization of Base Types for all Languages?</p> <ul> - <li>Do all Languages initialize them to 0, bool=false and string=””? or null, undefined?</li> + <li>Do all Languages initialize them to 0, bool=false and string=””? or null, undefined?</li> </ul> <p>Why does position of <code>CppType</code> vary between <code>SetType</code> and <code>ListType</code>?</p> <ul> - <li>std::set does sort the elements automatically, that’s the design. see <a href="/docs/types">Thrift Types</a> or the <a href="http://www.cplusplus.com/reference/stl/set/">C++ std:set reference</a> for further details</li> + <li>std::set does sort the elements automatically, that’s the design. see <a href="/docs/types">Thrift Types</a> or the <a href="http://www.cplusplus.com/reference/stl/set/">C++ std:set reference</a> for further details</li> <li>The question is, how other languages are doing that? What about custom objects, do they have a Compare function to set the order correctly?</li> </ul> -<p>Why can’t <code>DefinitionType</code> be the same as <code>FieldType</code> (i.e. include <code>Identifier</code>)?</p> +<p>Why can’t <code>DefinitionType</code> be the same as <code>FieldType</code> (i.e. include <code>Identifier</code>)?</p> -<p>Examine the <code>smalltalk.prefix</code> and <code>smalltalk.category</code> status (esp <code>smalltalk.category</code>, which takes <code>STIdentifier</code> as its argument)…</p> +<p>Examine the <code>smalltalk.prefix</code> and <code>smalltalk.category</code> status (esp <code>smalltalk.category</code>, which takes <code>STIdentifier</code> as its argument)…</p> <p>What to do about <code>ListSeparator</code>? Do we really want to be as lax as we currently are?</p> diff --git a/output/docs/install/centos.html b/output/docs/install/centos.html index dea63db..0cfe64c 100644 --- a/output/docs/install/centos.html +++ b/output/docs/install/centos.html @@ -132,8 +132,8 @@ make sudo make install </code></pre> -<p>This will build the compiler (thrift/compiler/cpp/thrift –version) and any language libraries supported. The make install step installs the compiler on the path: /usr/local/bin/thrift -You can use the ./configure –enable-libs=no switch to build the Apache Thrift IDL Compiler only without lib builds. To run tests use “make check”.</p> +<p>This will build the compiler (thrift/compiler/cpp/thrift –version) and any language libraries supported. The make install step installs the compiler on the path: /usr/local/bin/thrift +You can use the ./configure –enable-libs=no switch to build the Apache Thrift IDL Compiler only without lib builds. To run tests use “make check”.</p> <p class="snippet_footer">This page was generated by Apache Thrift's <strong>source tree docs</strong>: <a href="https://gitbox.apache.org/repos/asf?p=thrift.git;a=blob;hb=HEAD;f=doc/install/centos.md">doc/install/centos.md</a> diff --git a/output/docs/install/debian.html b/output/docs/install/debian.html index bb20054..2f78e6d 100644 --- a/output/docs/install/debian.html +++ b/output/docs/install/debian.html @@ -74,7 +74,7 @@ sudo ./b2 install <ul> <li>Java <ul> - <li>packages: gradle (version 7.5.1)</li> + <li>packages: gradle (version 8.0.2)</li> <li>You will also need Java JDK v1.8 or higher. Type <strong>javac</strong> to see a list of available packages, pick the one you prefer and <strong>apt-get install</strong> it (e.g. default-jdk).</li> </ul> </li> diff --git a/output/docs/install/windows.html b/output/docs/install/windows.html index 07802ca..23debfd 100644 --- a/output/docs/install/windows.html +++ b/output/docs/install/windows.html @@ -54,7 +54,7 @@ <p>The Thrift environment consists of two main parts: The Thrift compiler EXE and the language-dependent libraries. Most of these libraries will require some kind of build and/or installation. But regarding the Thrift compiler utility, there are a number of different alternatives.</p> -<p>The first one of these alternatives is to download the <strong>pre-built Thrift Compiler EXE</strong> and only build the libraries needed from source, following one of the “Setup from source” methods outlined below.</p> +<p>The first one of these alternatives is to download the <strong>pre-built Thrift Compiler EXE</strong> and only build the libraries needed from source, following one of the “Setup from source” methods outlined below.</p> <p>The other two options are to build the Thrift compiler from source. The most recommended way to achieve this is by means of the <strong>Visual Studio C++ build project</strong>. Alternatively, the Thrift compiler can also be built via <strong>Cygwin</strong> or <strong>MinGW</strong> build environments, however this method is not only less comfortable, but more time-consuming and requires much more manual effort.</p> @@ -62,13 +62,13 @@ <p>The windows Thrift compiler is available as a prebuilt exe available <a href="/download">here</a>. Note that there is no installation tool, rather this EXE file <em>is</em> already the Thrift compiler utility. Download the file and put it into some suitable location of your choice.</p> -<p>Now pick one of the “Build and install target libraries” below to continue.</p> +<p>Now pick one of the “Build and install target libraries” below to continue.</p> <h2 id="setup-from-source-via-visual-studio-c-recommended">Setup from source via Visual Studio C++ (recommended)</h2> <h3 id="requirements">Requirements</h3> -<p>Thrift’s compiler is written in C++ and designed to be portable, but there are some system requirements. Thrift’s runtime libraries are written in various languages, which are also required for the particular language interface.</p> +<p>Thrift’s compiler is written in C++ and designed to be portable, but there are some system requirements. Thrift’s runtime libraries are written in various languages, which are also required for the particular language interface.</p> <ul> <li>Visual Studio C++, any recent version should do</li> @@ -84,13 +84,13 @@ <p>A few of the target language libraries also do provide Visual Studio project files, such as C++ and C#. These are located in the <code>lib/<language>/</code> folders.</p> -<p>Most of the language packages must be built and installed manually using build tools better suited to those languages. Typical examples are Java, Ruby, Delphi, or PHP. Look for the <code>README.md</code> file in the <code>lib/<language>/</code> folder for more details on how to build and install each language’s library package.</p> +<p>Most of the language packages must be built and installed manually using build tools better suited to those languages. Typical examples are Java, Ruby, Delphi, or PHP. Look for the <code>README.md</code> file in the <code>lib/<language>/</code> folder for more details on how to build and install each language’s library package.</p> <h2 id="setup-from-source-via-cygwin">Setup from source via Cygwin</h2> <h3 id="requirements-1">Requirements</h3> -<p>Thrift’s compiler is written in C++ and designed to be portable, but there are some system requirements. Thrift’s runtime libraries are written in various languages, which are also required for the particular language interface.</p> +<p>Thrift’s compiler is written in C++ and designed to be portable, but there are some system requirements. Thrift’s runtime libraries are written in various languages, which are also required for the particular language interface.</p> <ul> <li>Cygwin or MinGW</li> @@ -139,12 +139,12 @@ make install ./configure: line 21183: ` PKG_CHECK_MODULES(MONO, mono >= 1.2.6, have_mono=yes, have_mono=no)' </code></pre> -<p>To resolve this, you’ll need to find your pkg.m4 (installed by the pkg-config package) file and copy it to the thrift/aclocal directory. From the top-level thrift directory, you can copy the file by running</p> +<p>To resolve this, you’ll need to find your pkg.m4 (installed by the pkg-config package) file and copy it to the thrift/aclocal directory. From the top-level thrift directory, you can copy the file by running</p> <pre><code>cp /usr/share/aclocal/pkg.m4 aclocal </code></pre> -<p>Finally, re-run ./bootstrap.sh and ./configure. (Note that pkg.m4 is created by the pkg-config tool. If your /usr/share/aclocal directory doesn’t contain the pkg.m4 file, you may not have pkg-config installed.)</p> +<p>Finally, re-run ./bootstrap.sh and ./configure. (Note that pkg.m4 is created by the pkg-config tool. If your /usr/share/aclocal directory doesn’t contain the pkg.m4 file, you may not have pkg-config installed.)</p> <h4 id="installing-perl-runtime-libraries">Installing perl runtime libraries</h4> @@ -152,7 +152,7 @@ make install <p>A workaround is to avoid installing the perl libraries if they are not needed.</p> -<p>If you don’t need perl, run configure with –without-perl.</p> +<p>If you don’t need perl, run configure with –without-perl.</p> <p>If you need perl, and are happy to manually install it, replace the contents of thrift/lib/perl/Makefile with the following, after building thrift:</p> @@ -221,7 +221,7 @@ LTHRIFT=$(THRIFT_O)/Thrift.o $(THRIFT_O)/TSocket.o $(THRIFT_O)/TBinaryProtocol.o ./configure </code></pre> -<p>'’Optional:’’ To make the compiler only, change to the compiler directory before running make:</p> +<p>'’Optional:’’ To make the compiler only, change to the compiler directory before running make:</p> <pre><code>cd compiler/cpp </code></pre> diff --git a/output/download.html b/output/download.html index 556b522..575cd35 100644 --- a/output/download.html +++ b/output/download.html @@ -50,19 +50,19 @@ <div class="container"> <h2 id="release">Release</h2> -<p>The latest stable release of Thrift is 0.18.1 (released on 2023-MAR-01).</p> +<p>The latest stable release of Thrift is 0.19.0 (released on 2023-SEP-02).</p> <ul> - <li><a href="http://www.apache.org/dyn/closer.cgi?path=/thrift/0.18.1/thrift-0.18.1.tar.gz">thrift-0.18.1.tar.gz</a> [<a href="https://www.apache.org/dist/thrift/0.18.1/thrift-0.18.1.tar.gz.asc">PGP</a>] -[<a href="https://www.apache.org/dist/thrift/0.18.1/thrift-0.18.1.tar.gz.md5">MD5</a>]</li> - <li><a href="http://www.apache.org/dyn/closer.cgi?path=/thrift/0.18.1/thrift-0.18.1.exe">Thrift compiler for Windows (thrift-0.18.1.exe)</a> [<a href="https://www.apache.org/dist/thrift/0.18.1/thrift-0.18.1.exe.asc">PGP</a>] [<a href="https://www.apache.org/dist/thrift/0.18.1/thrift-0.18.1.exe.md5">MD5</a>]</li> + <li><a href="http://www.apache.org/dyn/closer.cgi?path=/thrift/0.19.0/thrift-0.19.0.tar.gz">thrift-0.19.0.tar.gz</a> [<a href="https://www.apache.org/dist/thrift/0.19.0/thrift-0.19.0.tar.gz.asc">PGP</a>] +[<a href="https://www.apache.org/dist/thrift/0.19.0/thrift-0.19.0.tar.gz.md5">MD5</a>]</li> + <li><a href="http://www.apache.org/dyn/closer.cgi?path=/thrift/0.19.0/thrift-0.19.0.exe">Thrift compiler for Windows (thrift-0.19.0.exe)</a> [<a href="https://www.apache.org/dist/thrift/0.19.0/thrift-0.19.0.exe.asc">PGP</a>] [<a href="https://www.apache.org/dist/thrift/0.19.0/thrift-0.19.0.exe.md5">MD5</a>]</li> </ul> <h2 id="maven-artifact">Maven artifact</h2> <pre><code><dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> - <version>0.18.1</version> + <version>0.19.0</version> </dependency> </code></pre> diff --git a/output/index.html b/output/index.html index d22c143..c2b3ac0 100644 --- a/output/index.html +++ b/output/index.html @@ -80,19 +80,19 @@ </div> <div class="span3 well center pull-right"> <h2>Download</h2> - <p>Apache Thrift v0.18.1</p> + <p>Apache Thrift v0.19.0</p> <p> - <a class="btn btn-large" href="http://www.apache.org/dyn/closer.cgi?path=/thrift/0.18.1/thrift-0.18.1.tar.gz"> - Download <small>v0.18.1</small> + <a class="btn btn-large" href="http://www.apache.org/dyn/closer.cgi?path=/thrift/0.19.0/thrift-0.19.0.tar.gz"> + Download <small>v0.19.0</small> </a> </p> <p> <small> - <a href="https://www.apache.org/dist/thrift/0.18.1/thrift-0.18.1.tar.gz.md5">MD5</a> + <a href="https://www.apache.org/dist/thrift/0.19.0/thrift-0.19.0.tar.gz.md5">MD5</a> </small> | <small> - <a href="https://www.apache.org/dist/thrift/0.18.1/thrift-0.18.1.tar.gz.asc">PGP</a> + <a href="https://www.apache.org/dist/thrift/0.19.0/thrift-0.19.0.tar.gz.asc">PGP</a> </small> </p> <p> diff --git a/output/lib/c_glib.html b/output/lib/c_glib.html index 8e166b4..d5ce73b 100644 --- a/output/lib/c_glib.html +++ b/output/lib/c_glib.html @@ -64,16 +64,16 @@ http://www.gtk.org/</p> <h2 id="section">0.12.0</h2> -<p>The compiler’s handling of namespaces when generating the name of types, +<p>The compiler’s handling of namespaces when generating the name of types, functions and header files has been improved. This means code written to use classes generated by previous versions of the compiler may need to be updated to reflect the proper convention for class names, which is</p> <ul> <li>A lowercase, <a href="https://en.wikipedia.org/wiki/Snake_case">snake-case</a> -representation of the class’ namespace, followed by</li> +representation of the class’ namespace, followed by</li> <li>An underscore and</li> - <li>A lowercase, snake-case representation of the class’ name.</li> + <li>A lowercase, snake-case representation of the class’ name.</li> </ul> <p class="snippet_footer">This page was generated by Apache Thrift's <strong>source tree docs</strong>: diff --git a/output/lib/cl.html b/output/lib/cl.html index 6f43293..7499561 100644 --- a/output/lib/cl.html +++ b/output/lib/cl.html @@ -90,7 +90,7 @@ and transport mechanisms.</li> <ul> <li><code>serve (location service)</code> : accepts connections on the designated port and responds to -requests of the service’s operations.</li> +requests of the service’s operations.</li> </ul> <h2 id="building">Building</h2> @@ -152,7 +152,7 @@ the tutorial file, the relevant packages are:</p> <p>It is suggested to work in the <code>tutorial-implementation</code> package while implementing the services - it imports the <code>common-lisp</code> package, while the service-specific ones -don’t (to avoid conflicts between Thrift method names and function names in <code>common-lisp</code>).</p> +don’t (to avoid conflicts between Thrift method names and function names in <code>common-lisp</code>).</p> <pre><code>;; define the base operations diff --git a/output/lib/cpp.html b/output/lib/cpp.html index 705c954..f4b84a6 100644 --- a/output/lib/cpp.html +++ b/output/lib/cpp.html @@ -124,7 +124,7 @@ dependencies; in the case of libthrift, openssl, pthreads, and librt and for libthriftnb, libevent.</p> <p>In the project properties you must also set HAVE_CONFIG_H as force include -the config header: “windows/config.h”</p> +the config header: “windows/config.h”</p> <h2 id="dependencies-1">Dependencies</h2> @@ -158,7 +158,7 @@ on the vcpkg repository.</p> <p>Named Pipe transport has been added in the TPipe and TPipeServer classes. This is currently Windows-only. Named pipe transport for *NIX has not been implemented. Domain sockets are a better choice for local IPC under non-Windows -OS’s. *NIX named pipes only support 1:1 client-server connection.</p> +OS’s. *NIX named pipes only support 1:1 client-server connection.</p> <h1 id="thriftssl">Thrift/SSL</h1> @@ -190,44 +190,44 @@ TSSLSocket are always created from TSSLSocketFactory.</p> <p>After SSL handshake completes, additional checks are conducted. Application is given the chance to decide whether or not to continue the conversation -with the remote. Application is queried through the above three “verify” +with the remote. Application is queried through the above three “verify” method. They are called at different points of the verification process.</p> <p>Decisions can be one of ALLOW, DENY, and SKIP. ALLOW and DENY means the conversation should be continued or disconnected, respectively. ALLOW and -DENY decision stops the verification process. SKIP means there’s no decision +DENY decision stops the verification process. SKIP means there’s no decision based on the given input, continue the verification process.</p> <p>First, (a) is called with the remote IP. It is called once at the beginning. -“sa” is the IP address of the remote peer.</p> +“sa” is the IP address of the remote peer.</p> <p>Then, the certificate of remote peer is loaded. SubjectAltName extensions are extracted and sent to application for verification. When a DNS subjectAltName field is extracted, (b) is called. When an IP subjectAltName field is extracted, (c) is called.</p> -<p>The “host” in (b) is the value from TSocket::getHost() if this is a client +<p>The “host” in (b) is the value from TSocket::getHost() if this is a client side socket, or TSocket::getPeerHost() if this is a server side socket. The reason is client side socket initiates the connection. TSocket::getHost() is the remote host name. On server side, the remote host name is unknown -unless it’s retrieved through TSocket::getPeerHost(). Either way, “host” +unless it’s retrieved through TSocket::getPeerHost(). Either way, “host” should be the remote host name. Keep in mind, if TSocket::getPeerHost() failed, it would return the remote host name in numeric format.</p> -<p>If all subjectAltName extensions were “skipped”, the common name field would -be checked. It is sent to application through (c), where “sa” is the remote -IP address. “data” is the IP address extracted from subjectAltName IP -extension, and “size” is the length of the extension data.</p> +<p>If all subjectAltName extensions were “skipped”, the common name field would +be checked. It is sent to application through (c), where “sa” is the remote +IP address. “data” is the IP address extracted from subjectAltName IP +extension, and “size” is the length of the extension data.</p> -<p>If any of the above “verify” methods returned a decision ALLOW or DENY, the +<p>If any of the above “verify” methods returned a decision ALLOW or DENY, the verification process would be stopped.</p> -<p>If any of the above “verify” methods returned SKIP, that decision would be +<p>If any of the above “verify” methods returned SKIP, that decision would be ignored and the verification process would move on till the last item is -examined. At that point, if there’s still no decision, the connection is +examined. At that point, if there’s still no decision, the connection is terminated.</p> -<p>Thread safety, an access manager should not store state information if it’s +<p>Thread safety, an access manager should not store state information if it’s to be used by many SSL sockets.</p> <h2 id="sigpipe-signal">SIGPIPE signal</h2> @@ -249,7 +249,7 @@ this signal would kill the application.</p> <p>The file names are hard coded in the source code. You need to create these certificates before you can run the test code in SSL mode. Make sure at least -one of the followings is included in “keys/server.crt”,</p> +one of the followings is included in “keys/server.crt”,</p> <ul> <li>subjectAltName, DNS localhost</li> @@ -263,16 +263,16 @@ one of the followings is included in “keys/server.crt”,</p> ./cpp/TestClient --ssl </code></pre> -<p>If “-h <host>" is used to run client, the above "localhost" in the above +<p>If “-h <host>" is used to run client, the above "localhost" in the above keys/server.crt has to be replaced with that host name.</host></p> <h2 id="tsslsocketfactoryrandomize">TSSLSocketFactory::randomize()</h2> <p>The default implementation of OpenSSLSocketFactory::randomize() simply calls -OpenSSL’s RAND_poll() when OpenSSL library is first initialized.</p> +OpenSSL’s RAND_poll() when OpenSSL library is first initialized.</p> <p>The PRNG seed is key to the application security. This method should be -overridden if it’s not strong enough for you.</p> +overridden if it’s not strong enough for you.</p> <h1 id="deprecations">Deprecations</h1> @@ -314,7 +314,7 @@ Qt4 support was removed.</p> <p>THRIFT-4762: Added <code>const</code> specifier to <code>TTransport::getOrigin()</code>. This changes its function signature. -It’s recommended to add the <code>override</code> specifier in implementations derived from <code>TTransport</code>.</p> +It’s recommended to add the <code>override</code> specifier in implementations derived from <code>TTransport</code>.</p> <h2 id="section-2">0.11.0</h2> @@ -327,7 +327,7 @@ preprocessor macro `FORCE_BOOST_SMART_PTR`. (THRIFT-2221)</memory></p> <p>In the pthread mutex implementation, the contention profiling code was enabled by default in all builds. This changed to be disabled by default. (THRIFT-4151)</p> -<p>In older releases, if a TSSLSocketFactory’s lifetime was not at least as long +<p>In older releases, if a TSSLSocketFactory’s lifetime was not at least as long as the TSSLSockets it created, we silently reverted openssl to unsafe multithread behavior and so the results were undefined. Changes were made in 0.11.0 that cause either an assertion or a core instead of undefined behavior. The lifetime of a TSSLSocketFactory diff --git a/output/lib/d.html b/output/lib/d.html index d064a68..c60c567 100644 --- a/output/lib/d.html +++ b/output/lib/d.html @@ -56,7 +56,7 @@ the unit test blocks contained in the D source files, and second, the more extensive testing applications in the test/ subdirectory, which also make use of the Thrift compiler. -Both are built when running “make check”, but only the +Both are built when running “make check”, but only the unit tests are immediately run, however – the separate test cases typically run longer or require manual intervention. It might also be prudent to run the independent tests, @@ -68,11 +68,11 @@ be to manually create a file containing an empty main() and invoke the compiler by running the following in the src/ directory (PowerShell syntax):</p> -<p>dmd -ofunittest -unittest -w $(dir -r -filter ‘*.d’ -name)</p> +<p>dmd -ofunittest -unittest -w $(dir -r -filter ‘*.d’ -name)</p> <h2 id="async-and-ssl">Async and SSL</h2> <p>Using SSL with async is experimental (always has been) and -the unit test “async_test –ssl” hangs. Use at your own +the unit test “async_test –ssl” hangs. Use at your own risk.</p> <p class="snippet_footer">This page was generated by Apache Thrift's <strong>source tree docs</strong>: diff --git a/output/lib/go.html b/output/lib/go.html index 96e1af2..9a86f05 100644 --- a/output/lib/go.html +++ b/output/lib/go.html @@ -61,9 +61,9 @@ the latest two Go releases are go1.15 and go1.14, and those are the two Go releases supported by Thrift v0.14.* (including v0.14.1 and v0.14.2 patch releases).</p> -<p>Because of Go’s backward compatibility guarantee, +<p>Because of Go’s backward compatibility guarantee, older Thrift libraries usually works with newer Go releases -(e.g. Thrift v0.14.* works with go1.16, although it’s not officially supported), +(e.g. Thrift v0.14.* works with go1.16, although it’s not officially supported), but newer Thrift releases might use new APIs introduced in Go releases and no longer work with older Go releases. For example, Thrift v0.14.0 used APIs introduced in go1.13, @@ -102,7 +102,7 @@ is, given a struct like</p> } </code></pre> -<p>(Nor is there any other syntax that’s built in to the language)</p> +<p>(Nor is there any other syntax that’s built in to the language)</p> <p>As such, we provide some helpers that do just this under lib/go/thrift/. E.g.,</p> @@ -134,15 +134,21 @@ typedefs and enums.</p> <p>The context object passed into the server handler function will be canceled when the client closes the connection (this is a best effort check, not a guarantee -– there’s no guarantee that the context object is always canceled when client -closes the connection, but when it’s canceled you can always assume the client -closed the connection). When implementing Go Thrift server, you can take -advantage of that to abandon requests that’s no longer needed:</p> +– there’s no guarantee that the context object is always canceled when client +closes the connection, but when it’s canceled you can always assume the client +closed the connection). The cause of the cancellation (via <code>context.Cause(ctx)</code>) +would also be set to <code>thrift.ErrAbandonRequest</code>.</p> + +<p>When implementing Go Thrift server, you can take advantage of that to abandon +requests that’s no longer needed by returning <code>thrift.ErrAbandonRequest</code>:</p> <pre><code>func MyEndpoint(ctx context.Context, req *thriftRequestType) (*thriftResponseType, error) { ... if ctx.Err() == context.Canceled { return nil, thrift.ErrAbandonRequest + // Or just return ctx.Err(), compiler generated processor code will + // handle it for you automatically: + // return nil, ctx.Err() } ... } @@ -180,7 +186,7 @@ thrift.ServerStopTimeout in your main or init function:</p> <pre><code>thrift.ServerStopTimeout = <max_duration_to_stop> </code></pre> -<p>If it’s set to <=0, the feature will be disabled (by default), and server +<p>If it’s set to <=0, the feature will be disabled (by default), and server will wait for all the client connections to be closed gracefully with zero err time. Otherwise, the stop will wait for all the client connections to be closed gracefully util thrift.ServerStopTimeout is diff --git a/output/lib/haxe.html b/output/lib/haxe.html index b27b3c8..c0222e6 100644 --- a/output/lib/haxe.html +++ b/output/lib/haxe.html @@ -94,7 +94,7 @@ sudo ldconfig <h2 id="thrift-haxe-bindings">Thrift Haxe bindings</h2> <p>Thrift Haxe bindings can be set up via the <code>haxelib</code> tool as usual. -Alternatively, the “github” method can be used.</p> +Alternatively, the “github” method can be used.</p> <ul> <li> @@ -121,7 +121,7 @@ or build from source, depending on your operating system. Appropriate downloads and more information can be found at http://thrift.apache.org</p> <p>To get started, visit the /tutorial/haxe and /test/haxe dirs for examples. -If you are using the HaxeDevelop IDE, you’ll find appropriate project files +If you are using the HaxeDevelop IDE, you’ll find appropriate project files in these folders.</p> <h1 id="breaking-changes">Breaking changes</h1> @@ -180,7 +180,7 @@ transport = new TWrappingServerTransport( </code></p> </li> <li> - <p>TSimpleServer doesn’t stop after first call, so processor.process() should be called instead, or use runOnce property + <p>TSimpleServer doesn’t stop after first call, so processor.process() should be called instead, or use runOnce property <code>haxe var server = new TSimpleServer( processor, transport, transfactory, protfactory); server.runOnce = true; diff --git a/output/lib/java.html b/output/lib/java.html index 4fe695d..70cdf54 100644 --- a/output/lib/java.html +++ b/output/lib/java.html @@ -71,7 +71,7 @@ install code to copy to the target destination.</p> the Gradle build system, which tends to be predominant amongst Java developers.</p> -<p>Currently we use gradle 7.5.1 to build the Thrift Java source. The usual way to setup gradle +<p>Currently we use gradle 8.0 to build the Thrift Java source. The usual way to setup gradle project is to include the gradle-wrapper.jar in the project and then run the gradle wrapper to bootstrap setting up gradle binaries. However to avoid putting binary files into the source tree we have ignored the gradle wrapper files. You are expected to install it manually, as described in @@ -79,13 +79,13 @@ the <a href="https://docs.gradle.org/current/userguide/installation.html">gradle following this step (which is also done in the travis CI docker images):</p> <p><code>bash -export GRADLE_VERSION="7.5.1" +export GRADLE_VERSION="8.0.2" # install dependencies apt-get install -y --no-install-recommends openjdk-17-jdk-headless wget unzip # download gradle distribution wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip # check binary integrity -echo "f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4 /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c - +echo "ff7bf6a86f09b9b2c40bb8f48b25fc19cf2b2664fd1d220cd7ab833ec758d0d7 /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c - # unzip and install unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle @@ -105,7 +105,7 @@ gradle wrapper --gradle-version $GRADLE_VERSION gradle </code></p> -<p>Yep, that’s easy. Look for <code>libthrift-<version>.jar</code> in the build/libs directory.</p> +<p>Yep, that’s easy. Look for <code>libthrift-<version>.jar</code> in the build/libs directory.</p> <p>The default build will run the unit tests which expect a usable Thrift compiler to exist on the system. You have two choices for @@ -119,7 +119,7 @@ to look for it there.</li> <p>Install the published binary distribution to have Thrift executable in a known location and add the path to the ~/.gradle/gradle.properties file using the property name -“thrift.compiler”. For example this would set the path in +“thrift.compiler”. For example this would set the path in a Windows box if Thrift was installed under C:\Thrift</p> <p>thrift.compiler=C:/Thrift/thrift.exe</p> @@ -246,7 +246,7 @@ http://gradle.org/</p> <ul> <li> - <p>The signature of the ‘process’ method in TAsyncProcessor and TProcessor has + <p>The signature of the ‘process’ method in TAsyncProcessor and TProcessor has changed to remove the boolean return type and instead rely on Exceptions.</p> </li> <li> diff --git a/output/lib/js.html b/output/lib/js.html index b88b757..5468729 100644 --- a/output/lib/js.html +++ b/output/lib/js.html @@ -169,7 +169,7 @@ console.log("Http/Thrift Server running on port: " + port); <h2 id="section">0.13.0</h2> <ol> - <li>64-bit integer constants are now generatd using node-int64 e.g.: var x = new Int64(“7fffffffffffffff”);</li> + <li>64-bit integer constants are now generatd using node-int64 e.g.: var x = new Int64(“7fffffffffffffff”);</li> </ol> <p class="snippet_footer">This page was generated by Apache Thrift's <strong>source tree docs</strong>: diff --git a/output/lib/netstd.html b/output/lib/netstd.html index fcefda9..922b2bc 100644 --- a/output/lib/netstd.html +++ b/output/lib/netstd.html @@ -77,7 +77,7 @@ or</li> <h1 id="migration-to-netstd">Migration to netstd</h1> -<h2 id="from-netcore">… from netcore</h2> +<h2 id="from-netcore">… from netcore</h2> <p>If you are migrating your code from netcore library, you will have to:</p> @@ -94,14 +94,14 @@ or</li> <p>You may wonder why we changed so many names. The naming scheme has been revised for two reasons: First, we want to get back the established, well-known naming consistency across the Thrift libraries which the netcore library did not fully respect. Second, by achieving that first objective, we get the additional benefit of making migration at least a bit easier for C# projects.</p> -<h2 id="from-csharp">… from csharp</h2> +<h2 id="from-csharp">… from csharp</h2> <p>Because of the different environment requirements, migration from C# takes slightly more efforts. While the code changes related to Thrift itself are moderate, you may need to upgrade certain dependencies, components or even modules to more recent versions.</p> <ol> <li>Client and server applications must use at least framework 4.6.1, any version below will not work.</li> <li>Switch to <code>thrift -gen netstd</code>. The following compiler flags are no longer needed or supported: <code>hashcode</code> and <code>async</code> are now standard, while <code>nullable</code> is no longer supported.</li> - <li><a href="https://msdn.microsoft.com/en-us/magazine/jj991977.aspx">Familiarize yourself with the <code>async/await</code> model</a>, if you have not already done so. As netstd does not support <code>ISync</code> anymore, async is mandatory. The synchronous model is simply no longer available (that’s also the reason why we don’t need the <code>async</code> flag anymore).</li> + <li><a href="https://msdn.microsoft.com/en-us/magazine/jj991977.aspx">Familiarize yourself with the <code>async/await</code> model</a>, if you have not already done so. As netstd does not support <code>ISync</code> anymore, async is mandatory. The synchronous model is simply no longer available (that’s also the reason why we don’t need the <code>async</code> flag anymore).</li> <li>Consider proper use of <code>cancellationToken</code> parameters. They are optional but may be quite helpful.</li> <li>As you probably already guessed, there are a few names that have been changed: - add <code>using Thrift.Processor;</code> in the server code where appropriate @@ -109,7 +109,7 @@ or</li> - change <code>IProtocolFactory</code> into <code>ITProtocolFactory</code> - if you are looking for <code>TSimpleServer</code>, try <code>TSimpleAsyncServer</code> instead - similarly, the <code>TThreadPoolServer</code> is now a <code>TThreadPoolAsyncServer</code> -- the server’s <code>Serve()</code> method does now <code>ServeAsync()</code> +- the server’s <code>Serve()</code> method does now <code>ServeAsync()</code> - In case you are using Thrift server event handlers: the <code>SetEventHandler</code> method now starts with an uppercase letter - and you will also have to revise the method names of all <code>TServerEventHandler</code> descendants you have in your code</li> </ol> diff --git a/output/lib/nodejs.html b/output/lib/nodejs.html index daf1ead..e6c1fa5 100644 --- a/output/lib/nodejs.html +++ b/output/lib/nodejs.html @@ -71,22 +71,22 @@ <p>Here is a Cassandra example:</p> <p>```js -var thrift = require(‘thrift’), - Cassandra = require(‘./gen-nodejs/Cassandra’) - ttypes = require(‘./gen-nodejs/cassandra_types’);</p> +var thrift = require(‘thrift’), + Cassandra = require(‘./gen-nodejs/Cassandra’) + ttypes = require(‘./gen-nodejs/cassandra_types’);</p> -<p>var connection = thrift.createConnection(“localhost”, 9160), +<p>var connection = thrift.createConnection(“localhost”, 9160), client = thrift.createClient(Cassandra, connection);</p> -<p>connection.on(‘error’, function(err) { +<p>connection.on(‘error’, function(err) { console.error(err); });</p> -<p>client.get_slice(“Keyspace”, “key”, new ttypes.ColumnParent({column_family: “ExampleCF”}), new ttypes.SlicePredicate({slice_range: new ttypes.SliceRange({start: ‘’, finish: ‘’})}), ttypes.ConsistencyLevel.ONE, function(err, data) { +<p>client.get_slice(“Keyspace”, “key”, new ttypes.ColumnParent({column_family: “ExampleCF”}), new ttypes.SlicePredicate({slice_range: new ttypes.SliceRange({start: ‘’, finish: ‘’})}), ttypes.ConsistencyLevel.ONE, function(err, data) { if (err) { // handle err } else { - // data == [ttypes.ColumnOrSuperColumn, …] + // data == [ttypes.ColumnOrSuperColumn, …] } connection.end(); }); @@ -105,11 +105,11 @@ var thrift = require(‘thrift’), <p>You can use code generated with js:node on browsers with Webpack. Here is an example.</p> -<p>thrift –gen js:node,ts,es6,with_ns</p> +<p>thrift –gen js:node,ts,es6,with_ns</p> <p>```javascript -import * as thrift from ‘thrift’; -import { MyServiceClient } from ‘../gen-nodejs/MyService’;</p> +import * as thrift from ‘thrift’; +import { MyServiceClient } from ‘../gen-nodejs/MyService’;</p> <p>let host = window.location.hostname; let port = 443; @@ -117,17 +117,17 @@ let opts = { transport: thrift.TBufferedTransport, protocol: thrift.TJSONProtocol, headers: { - ‘Content-Type’: ‘application/vnd.apache.thrift.json’, + ‘Content-Type’: ‘application/vnd.apache.thrift.json’, }, https: true, - path: ‘/url/path’, + path: ‘/url/path’, useCORS: true, };</p> <p>let connection = thrift.createXHRConnection(host, port, opts); let thriftClient = thrift.createXHRClient(MyServiceClient, connection);</p> -<p>connection.on(‘error’, (err) => { +<p>connection.on(‘error’, (err) => { console.error(err); });</p> @@ -136,7 +136,7 @@ let thriftClient = thrift.createXHRClient(MyServiceClient, connection);</p> console.log(result); }) .catch((err) => { - …. + …. }); ```</p> @@ -145,8 +145,8 @@ let thriftClient = thrift.createXHRClient(MyServiceClient, connection);</p> <h3 id="browser-example-with-websocket-bufferedtransport-and-binaryprotocol">Browser example with WebSocket, BufferedTransport and BinaryProtocol</h3> <p>```javascript -import thrift from ‘thrift’; -import { MyServiceClient } from ‘../gen-nodejs/MyService’;</p> +import thrift from ‘thrift’; +import { MyServiceClient } from ‘../gen-nodejs/MyService’;</p> <p>const host = window.location.hostname; const port = 9090; @@ -158,7 +158,7 @@ const connection = thrift.createWSConnection(host, port, opts); connection.open(); const thriftClient = thrift.createWSClient(MyServiceClient, connection);</p> -<p>connection.on(‘error’, (err) => { +<p>connection.on(‘error’, (err) => { console.error(err); });</p> @@ -167,7 +167,7 @@ const thriftClient = thrift.createWSClient(MyServiceClient, connection);</p> console.log(result); }) .catch((err) => { - …. + …. }); ```</p> diff --git a/output/lib/ocaml.html b/output/lib/ocaml.html index 9ba35b6..c7349e1 100644 --- a/output/lib/ocaml.html +++ b/output/lib/ocaml.html @@ -100,8 +100,8 @@ type t = | SIX | EIGHT</p> -<p>let of_i = … -let to_i = … +<p>let of_i = … +let to_i = … end</p> <h2 id="typedef-format">typedef format</h2> @@ -120,17 +120,17 @@ E of t that is raised/caught.</p> raise (Xception.E (new Xception.t)) and try - … -with Xception.E e -> …</p> + … +with Xception.E e -> …</p> <h2 id="list-format">list format</h2> <p>Lists are turned into OCaml native lists.</p> <h2 id="mapset-formats">Map/Set formats</h2> -<p>These are both turned into Hashtbl.t’s. Set values are bool.</p> +<p>These are both turned into Hashtbl.t’s. Set values are bool.</p> <h2 id="services">Services</h2> -<p>The client is a class “client” parametrized on input and output +<p>The client is a class “client” parametrized on input and output protocols. The processor is a class parametrized on a handler. A handler is a class inheriting the iface abstract class. Unlike other implementations, client does not implement iface since iface functions diff --git a/output/lib/st.html b/output/lib/st.html index 01d0b25..263b86a 100644 --- a/output/lib/st.html +++ b/output/lib/st.html @@ -56,7 +56,7 @@ on the tutorial .thrift files (and file in the resulting code), and then:</p> -<p>calc := CalculatorClient binaryOnHost: ‘localhost’ port: ‘9090’ +<p>calc := CalculatorClient binaryOnHost: ‘localhost’ port: ‘9090’ calc addNum1: 10 num2: 15</p> <p>Tested in Squeak 3.7, but should work fine with anything later.</p> diff --git a/output/test/index.html b/output/test/index.html index 2a080ea..a2935fb 100644 --- a/output/test/index.html +++ b/output/test/index.html @@ -85,7 +85,7 @@ test/test.py --server cpp,java --client nodejs test/test.py --server nodejs --client cpp,java </code></pre> -<p>Another useful flag is –regex. For example, to run all tests that involve +<p>Another useful flag is –regex. For example, to run all tests that involve Java TBinaryProtocol:</p> <pre><code>test/test.py --regex "java.*binary" @@ -144,8 +144,8 @@ comment at the opt of <a href="crossrunner/collect.py">crossrunner/collect.py</a <h2 id="list-of-known-failures">List of known failures</h2> <p>Since many cross tests currently fail (mainly due to partial incompatibility -around exception handling), the test script specifically report for “not known -before” failures.</p> +around exception handling), the test script specifically report for “not known +before” failures.</p> <p>For this purpose, test cases known to (occasionally) fail are listed in <code>known_failures_<platform>.json</code> where <code><platform></code> matches with python diff --git a/output/test/keys.html b/output/test/keys.html index a8340b8..ec8e1cb 100644 --- a/output/test/keys.html +++ b/output/test/keys.html @@ -80,7 +80,7 @@ openssl x509 -in server.crt -text > CA.pem cat server.crt server.key > server.pem </code></pre> -<p>Export password is “thrift” without the quotes</p> +<p>Export password is “thrift” without the quotes</p> <pre><code>openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12 </code></pre> @@ -100,7 +100,7 @@ cat server.crt server.key > server.pem <pre><code>openssl x509 -req -days 3000 -in client.csr -CA CA.pem -CAkey server.key -set_serial 01 -out client.crt </code></pre> -<p>export certificate in PKCS12 format (Export password is “thrift” without the quotes)</p> +<p>export certificate in PKCS12 format (Export password is “thrift” without the quotes)</p> <pre><code>openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12 </code></pre> @@ -134,7 +134,7 @@ IP.3=::ffff:127.0.0.1 </code></pre> <h2 id="java-key-and-certificate-import">Java key and certificate import</h2> -<p>Java Test Environment uses key and trust store password “thrift” without the quotes</p> +<p>Java Test Environment uses key and trust store password “thrift” without the quotes</p> <p>list keystore entries</p>