Skip to content

[Go] Add multiple servers support to Go(-experimental) client - #4635

Merged
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers
Dec 4, 2019
Merged

[Go] Add multiple servers support to Go(-experimental) client#4635
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers

Conversation

@jirikuncar

@jirikuncarjirikuncar commented Nov 28, 2019

Copy link
Copy Markdown
Contributor

Allows the Go(-Experimental) API client to retrieve all server URLs defined in the spec

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

cc @antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07)

related PRs

@jirikuncarjirikuncar changed the title [Go] Add multiple servers support to Go-experimental client[Go] Add multiple servers support to Go(-experimental) clientNov 28, 2019

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff. There are couple minor things that I'd suggest fixing (see the review), but otherwise this is great start to support server variables.
Additionally, this is in line with what other languages (e.g. Python) use, so this is also ok in terms of consistency across the whole project.

Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
@bkabrda

Copy link
Copy Markdown
Contributor

@wing328 hey William 👋 . It seems that this PR is failing in CI because it uses Go 1.12 (released February 2019) feature (strings.ReplaceAll). Is there any documentation available on which go releases we want to support?

Otherwise this PR LGTM, so once we clear the situation with strings.ReplaceAll I will give it a 👍 .

@bkabrda

Copy link
Copy Markdown
Contributor

Ah, please disregard my previous comment, I was looking wrong. This now uses strings.Replace, it just needs to have the samples regenerated after moving to this.

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).

@bkabrda it seems that the PR description template is not completely acurate.

$ find . -iname \*go-\*.sh | grep -v server./bin/go-experimental-petstore.sh./bin/openapi3/go-experimental-petstore.sh./bin/openapi3/go-petstore.sh./bin/go-petstore-withxml.sh # <- I was missing this one !!!./bin/go-petstore.sh

I wish there was a Makefile and/or pre-commit hook for this that would check which samples need to be regenerated based on list of edited files.

$ make samples
# or
$ make samples-go samples-go-experimental

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, LGTM now 👍

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

@antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07) I have rebased the PR and regenerated the client code.

@wing328wing328 added this to the 4.2.3 milestone Dec 4, 2019
@wing328
wing328 merged commit dce3923 into OpenAPITools:masterDec 4, 2019
@jirikuncarjirikuncar mentioned this pull request Jan 14, 2020
5 tasks
@jirikuncar
jirikuncar deleted the go-client-servers branch January 15, 2020 09:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jirikuncar@bkabrda@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
[Go] Add multiple servers support to Go(-experimental) client by jirikuncar · Pull Request #4635 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Go] Add multiple servers support to Go(-experimental) client - #4635

Merged
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers
Dec 4, 2019
Merged

[Go] Add multiple servers support to Go(-experimental) client#4635
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers

Conversation

@jirikuncar

@jirikuncarjirikuncar commented Nov 28, 2019

Copy link
Copy Markdown
Contributor

Allows the Go(-Experimental) API client to retrieve all server URLs defined in the spec

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

cc @antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07)

related PRs

@jirikuncarjirikuncar changed the title [Go] Add multiple servers support to Go-experimental client[Go] Add multiple servers support to Go(-experimental) clientNov 28, 2019

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff. There are couple minor things that I'd suggest fixing (see the review), but otherwise this is great start to support server variables.
Additionally, this is in line with what other languages (e.g. Python) use, so this is also ok in terms of consistency across the whole project.

Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
@bkabrda

Copy link
Copy Markdown
Contributor

@wing328 hey William 👋 . It seems that this PR is failing in CI because it uses Go 1.12 (released February 2019) feature (strings.ReplaceAll). Is there any documentation available on which go releases we want to support?

Otherwise this PR LGTM, so once we clear the situation with strings.ReplaceAll I will give it a 👍 .

@bkabrda

Copy link
Copy Markdown
Contributor

Ah, please disregard my previous comment, I was looking wrong. This now uses strings.Replace, it just needs to have the samples regenerated after moving to this.

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).

@bkabrda it seems that the PR description template is not completely acurate.

$ find . -iname \*go-\*.sh | grep -v server./bin/go-experimental-petstore.sh./bin/openapi3/go-experimental-petstore.sh./bin/openapi3/go-petstore.sh./bin/go-petstore-withxml.sh # <- I was missing this one !!!./bin/go-petstore.sh

I wish there was a Makefile and/or pre-commit hook for this that would check which samples need to be regenerated based on list of edited files.

$ make samples
# or
$ make samples-go samples-go-experimental

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, LGTM now 👍

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

@antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07) I have rebased the PR and regenerated the client code.

@wing328wing328 added this to the 4.2.3 milestone Dec 4, 2019
@wing328
wing328 merged commit dce3923 into OpenAPITools:masterDec 4, 2019
@jirikuncarjirikuncar mentioned this pull request Jan 14, 2020
5 tasks
@jirikuncar
jirikuncar deleted the go-client-servers branch January 15, 2020 09:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jirikuncar@bkabrda@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [Go] Add multiple servers support to Go(-experimental) client by jirikuncar · Pull Request #4635 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Go] Add multiple servers support to Go(-experimental) client - #4635

Merged
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers
Dec 4, 2019
Merged

[Go] Add multiple servers support to Go(-experimental) client#4635
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers

Conversation

@jirikuncar

@jirikuncarjirikuncar commented Nov 28, 2019

Copy link
Copy Markdown
Contributor

Allows the Go(-Experimental) API client to retrieve all server URLs defined in the spec

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

cc @antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07)

related PRs

@jirikuncarjirikuncar changed the title [Go] Add multiple servers support to Go-experimental client[Go] Add multiple servers support to Go(-experimental) clientNov 28, 2019

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff. There are couple minor things that I'd suggest fixing (see the review), but otherwise this is great start to support server variables.
Additionally, this is in line with what other languages (e.g. Python) use, so this is also ok in terms of consistency across the whole project.

Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
@bkabrda

Copy link
Copy Markdown
Contributor

@wing328 hey William 👋 . It seems that this PR is failing in CI because it uses Go 1.12 (released February 2019) feature (strings.ReplaceAll). Is there any documentation available on which go releases we want to support?

Otherwise this PR LGTM, so once we clear the situation with strings.ReplaceAll I will give it a 👍 .

@bkabrda

Copy link
Copy Markdown
Contributor

Ah, please disregard my previous comment, I was looking wrong. This now uses strings.Replace, it just needs to have the samples regenerated after moving to this.

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).

@bkabrda it seems that the PR description template is not completely acurate.

$ find . -iname \*go-\*.sh | grep -v server./bin/go-experimental-petstore.sh./bin/openapi3/go-experimental-petstore.sh./bin/openapi3/go-petstore.sh./bin/go-petstore-withxml.sh # <- I was missing this one !!!./bin/go-petstore.sh

I wish there was a Makefile and/or pre-commit hook for this that would check which samples need to be regenerated based on list of edited files.

$ make samples
# or
$ make samples-go samples-go-experimental

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, LGTM now 👍

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

@antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07) I have rebased the PR and regenerated the client code.

@wing328wing328 added this to the 4.2.3 milestone Dec 4, 2019
@wing328
wing328 merged commit dce3923 into OpenAPITools:masterDec 4, 2019
@jirikuncarjirikuncar mentioned this pull request Jan 14, 2020
5 tasks
@jirikuncar
jirikuncar deleted the go-client-servers branch January 15, 2020 09:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jirikuncar@bkabrda@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [Go] Add multiple servers support to Go(-experimental) client by jirikuncar · Pull Request #4635 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Go] Add multiple servers support to Go(-experimental) client - #4635

Merged
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers
Dec 4, 2019
Merged

[Go] Add multiple servers support to Go(-experimental) client#4635
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers

Conversation

@jirikuncar

@jirikuncarjirikuncar commented Nov 28, 2019

Copy link
Copy Markdown
Contributor

Allows the Go(-Experimental) API client to retrieve all server URLs defined in the spec

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

cc @antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07)

related PRs

@jirikuncarjirikuncar changed the title [Go] Add multiple servers support to Go-experimental client[Go] Add multiple servers support to Go(-experimental) clientNov 28, 2019

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff. There are couple minor things that I'd suggest fixing (see the review), but otherwise this is great start to support server variables.
Additionally, this is in line with what other languages (e.g. Python) use, so this is also ok in terms of consistency across the whole project.

Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
@bkabrda

Copy link
Copy Markdown
Contributor

@wing328 hey William 👋 . It seems that this PR is failing in CI because it uses Go 1.12 (released February 2019) feature (strings.ReplaceAll). Is there any documentation available on which go releases we want to support?

Otherwise this PR LGTM, so once we clear the situation with strings.ReplaceAll I will give it a 👍 .

@bkabrda

Copy link
Copy Markdown
Contributor

Ah, please disregard my previous comment, I was looking wrong. This now uses strings.Replace, it just needs to have the samples regenerated after moving to this.

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).

@bkabrda it seems that the PR description template is not completely acurate.

$ find . -iname \*go-\*.sh | grep -v server./bin/go-experimental-petstore.sh./bin/openapi3/go-experimental-petstore.sh./bin/openapi3/go-petstore.sh./bin/go-petstore-withxml.sh # <- I was missing this one !!!./bin/go-petstore.sh

I wish there was a Makefile and/or pre-commit hook for this that would check which samples need to be regenerated based on list of edited files.

$ make samples
# or
$ make samples-go samples-go-experimental

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, LGTM now 👍

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

@antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07) I have rebased the PR and regenerated the client code.

@wing328wing328 added this to the 4.2.3 milestone Dec 4, 2019
@wing328
wing328 merged commit dce3923 into OpenAPITools:masterDec 4, 2019
@jirikuncarjirikuncar mentioned this pull request Jan 14, 2020
5 tasks
@jirikuncar
jirikuncar deleted the go-client-servers branch January 15, 2020 09:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jirikuncar@bkabrda@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' [Go] Add multiple servers support to Go(-experimental) client by jirikuncar · Pull Request #4635 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Go] Add multiple servers support to Go(-experimental) client - #4635

Merged
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers
Dec 4, 2019
Merged

[Go] Add multiple servers support to Go(-experimental) client#4635
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers

Conversation

@jirikuncar

@jirikuncarjirikuncar commented Nov 28, 2019

Copy link
Copy Markdown
Contributor

Allows the Go(-Experimental) API client to retrieve all server URLs defined in the spec

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

cc @antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07)

related PRs

@jirikuncarjirikuncar changed the title [Go] Add multiple servers support to Go-experimental client[Go] Add multiple servers support to Go(-experimental) clientNov 28, 2019

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff. There are couple minor things that I'd suggest fixing (see the review), but otherwise this is great start to support server variables.
Additionally, this is in line with what other languages (e.g. Python) use, so this is also ok in terms of consistency across the whole project.

Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
@bkabrda

Copy link
Copy Markdown
Contributor

@wing328 hey William 👋 . It seems that this PR is failing in CI because it uses Go 1.12 (released February 2019) feature (strings.ReplaceAll). Is there any documentation available on which go releases we want to support?

Otherwise this PR LGTM, so once we clear the situation with strings.ReplaceAll I will give it a 👍 .

@bkabrda

Copy link
Copy Markdown
Contributor

Ah, please disregard my previous comment, I was looking wrong. This now uses strings.Replace, it just needs to have the samples regenerated after moving to this.

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).

@bkabrda it seems that the PR description template is not completely acurate.

$ find . -iname \*go-\*.sh | grep -v server./bin/go-experimental-petstore.sh./bin/openapi3/go-experimental-petstore.sh./bin/openapi3/go-petstore.sh./bin/go-petstore-withxml.sh # <- I was missing this one !!!./bin/go-petstore.sh

I wish there was a Makefile and/or pre-commit hook for this that would check which samples need to be regenerated based on list of edited files.

$ make samples
# or
$ make samples-go samples-go-experimental

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, LGTM now 👍

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

@antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07) I have rebased the PR and regenerated the client code.

@wing328wing328 added this to the 4.2.3 milestone Dec 4, 2019
@wing328
wing328 merged commit dce3923 into OpenAPITools:masterDec 4, 2019
@jirikuncarjirikuncar mentioned this pull request Jan 14, 2020
5 tasks
@jirikuncar
jirikuncar deleted the go-client-servers branch January 15, 2020 09:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jirikuncar@bkabrda@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [Go] Add multiple servers support to Go(-experimental) client by jirikuncar · Pull Request #4635 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Go] Add multiple servers support to Go(-experimental) client - #4635

Merged
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers
Dec 4, 2019
Merged

[Go] Add multiple servers support to Go(-experimental) client#4635
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers

Conversation

@jirikuncar

@jirikuncarjirikuncar commented Nov 28, 2019

Copy link
Copy Markdown
Contributor

Allows the Go(-Experimental) API client to retrieve all server URLs defined in the spec

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

cc @antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07)

related PRs

@jirikuncarjirikuncar changed the title [Go] Add multiple servers support to Go-experimental client[Go] Add multiple servers support to Go(-experimental) clientNov 28, 2019

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff. There are couple minor things that I'd suggest fixing (see the review), but otherwise this is great start to support server variables.
Additionally, this is in line with what other languages (e.g. Python) use, so this is also ok in terms of consistency across the whole project.

Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
@bkabrda

Copy link
Copy Markdown
Contributor

@wing328 hey William 👋 . It seems that this PR is failing in CI because it uses Go 1.12 (released February 2019) feature (strings.ReplaceAll). Is there any documentation available on which go releases we want to support?

Otherwise this PR LGTM, so once we clear the situation with strings.ReplaceAll I will give it a 👍 .

@bkabrda

Copy link
Copy Markdown
Contributor

Ah, please disregard my previous comment, I was looking wrong. This now uses strings.Replace, it just needs to have the samples regenerated after moving to this.

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).

@bkabrda it seems that the PR description template is not completely acurate.

$ find . -iname \*go-\*.sh | grep -v server./bin/go-experimental-petstore.sh./bin/openapi3/go-experimental-petstore.sh./bin/openapi3/go-petstore.sh./bin/go-petstore-withxml.sh # <- I was missing this one !!!./bin/go-petstore.sh

I wish there was a Makefile and/or pre-commit hook for this that would check which samples need to be regenerated based on list of edited files.

$ make samples
# or
$ make samples-go samples-go-experimental

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, LGTM now 👍

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

@antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07) I have rebased the PR and regenerated the client code.

@wing328wing328 added this to the 4.2.3 milestone Dec 4, 2019
@wing328
wing328 merged commit dce3923 into OpenAPITools:masterDec 4, 2019
@jirikuncarjirikuncar mentioned this pull request Jan 14, 2020
5 tasks
@jirikuncar
jirikuncar deleted the go-client-servers branch January 15, 2020 09:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jirikuncar@bkabrda@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); [Go] Add multiple servers support to Go(-experimental) client by jirikuncar · Pull Request #4635 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Go] Add multiple servers support to Go(-experimental) client - #4635

Merged
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers
Dec 4, 2019
Merged

[Go] Add multiple servers support to Go(-experimental) client#4635
wing328 merged 5 commits into
OpenAPITools:masterfrom
jirikuncar:go-client-servers

Conversation

@jirikuncar

@jirikuncarjirikuncar commented Nov 28, 2019

Copy link
Copy Markdown
Contributor

Allows the Go(-Experimental) API client to retrieve all server URLs defined in the spec

PR checklist

  • Read the contribution guidelines.
  • If contributing template-only or documentation-only changes which will change sample output, build the project before.
  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).
  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.
  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

cc @antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07)

related PRs

@jirikuncarjirikuncar changed the title [Go] Add multiple servers support to Go-experimental client[Go] Add multiple servers support to Go(-experimental) clientNov 28, 2019

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff. There are couple minor things that I'd suggest fixing (see the review), but otherwise this is great start to support server variables.
Additionally, this is in line with what other languages (e.g. Python) use, so this is also ok in terms of consistency across the whole project.

Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
Comment threadmodules/openapi-generator/src/main/resources/go/configuration.mustache Outdated
@bkabrda

Copy link
Copy Markdown
Contributor

@wing328 hey William 👋 . It seems that this PR is failing in CI because it uses Go 1.12 (released February 2019) feature (strings.ReplaceAll). Is there any documentation available on which go releases we want to support?

Otherwise this PR LGTM, so once we clear the situation with strings.ReplaceAll I will give it a 👍 .

@bkabrda

Copy link
Copy Markdown
Contributor

Ah, please disregard my previous comment, I was looking wrong. This now uses strings.Replace, it just needs to have the samples regenerated after moving to this.

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).

@bkabrda it seems that the PR description template is not completely acurate.

$ find . -iname \*go-\*.sh | grep -v server./bin/go-experimental-petstore.sh./bin/openapi3/go-experimental-petstore.sh./bin/openapi3/go-petstore.sh./bin/go-petstore-withxml.sh # <- I was missing this one !!!./bin/go-petstore.sh

I wish there was a Makefile and/or pre-commit hook for this that would check which samples need to be regenerated based on list of edited files.

$ make samples
# or
$ make samples-go samples-go-experimental

@bkabrdabkabrda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, LGTM now 👍

@jirikuncar

Copy link
Copy Markdown
ContributorAuthor

@antihax (2017/11) @bvwells (2017/12) @grokify (2018/07) @kemokemo (2018/09) @bkabrda (2019/07) I have rebased the PR and regenerated the client code.

@wing328wing328 added this to the 4.2.3 milestone Dec 4, 2019
@wing328
wing328 merged commit dce3923 into OpenAPITools:masterDec 4, 2019
@jirikuncarjirikuncar mentioned this pull request Jan 14, 2020
5 tasks
@jirikuncar
jirikuncar deleted the go-client-servers branch January 15, 2020 09:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jirikuncar@bkabrda@wing328