Skip to content

[rust-server] Added API Key auth to rust-server - #2459

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth
Apr 1, 2019
Merged

[rust-server] Added API Key auth to rust-server#2459
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth

Conversation

@Herrera93

@Herrera93Herrera93 commented Mar 20, 2019

Copy link
Copy Markdown
Contributor

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol@farcaller@bjgill

Description of the PR

Added API Key authentication in rust-server for both in header and query. Still missing in cookie.

For query, since we're not available to modify hyper request after creating it, I added it to the uri created. To do this I had to move let query_string = ... outside of the queryParams block which means it'll be present even if there aren't any queryParams or query API Key. I think we can change this by creating an additional property to check for both conditions.

For header it was easier since we can use header_mut on request to add any new headers to it. I only added the variable x-keyVarName to vendor extensions in order to camel case the header.

One other downside to this is that we may need to refactor it in case of multiple API Keys in headers.

@Herrera93Herrera93 changed the title Added API Key auth to rust-server[rust-server] Added API Key auth to rust-serverMar 20, 2019
@Herrera93

Copy link
Copy Markdown
ContributorAuthor

@bjgill Can you check this out ?

@wing328

Copy link
Copy Markdown
Member

cc Rust Techical committee: @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12)

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.

If this is really needed, can you use a better name? e.g. apiKeyName?

@Herrera93Herrera93Mar 25, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
I'm open to changing the name if you think that fits better.
As for the needing of this variable is so we can prevent problems like this example where the header is X-API-KEY which is the value of keyParamName but we wouldn't be available to use it like this:

// compile error
header! { (X-API-KEY, "X-API-KEY") => [String] }

This is the solution I came up with but if you have a better one we can use that one.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
Just changed the name from x-kayVarName to x-apiKeyName

@wing328

Copy link
Copy Markdown
Member

If no further feedback on this PR, I'll merge it over the weekend.

@wing328
wing328 merged commit ee69861 into OpenAPITools:masterApr 1, 2019
jimschubert added a commit that referenced this pull request Apr 2, 2019
* master: (133 commits)
#2503: fix out-of-memory issue with nested objects with arrays with maxItems set by limiting to max. 5 example items (#2536)
remove emitDefaultValue option (#2559)
fix EmitDefaultValue default vallue with false (#2558)
Added API Key auth to rust-server (#2459)
remove initialCaps and replace with camelize (#2546)
Add packageName configuration to maven (#2429)
[Typescript AngularJS] fix Extra package prefix in api parameters operations (#2522)
#1023 - [Scala] Use status family during response processing (#1024)
Generate setters for readonly properties in server code (#1582)
[JS] fix NPE for null string and improve Travis config file (#2553)
[elm] Update ISO 8601 library (fixes missing time zone designator) (#2545)
[csharp] update sample after #2528 (#2550)
[JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (#2511)
Aspnetcore nullable support (#2529)
Csharp nullable support (#2528)
[C++] [Qt5] Add enum support for client and server (#2339)
Fixed typo in migration-from-swagger-codegen.md (#2548)
[TypeScript Client] fix install Aurelia + fix use deprecated function (#2514)
[KOTLIN] fix var name not correctly sanitized (#2537)
Update swagger-parser to '2.0.11-OpenAPITools.org-1' (#2262)
...
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

@Herrera93@wing328@richardwhiuk
, '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" + '
[rust-server] Added API Key auth to rust-server by Herrera93 · Pull Request #2459 · OpenAPITools/openapi-generator · GitHub
Skip to content

[rust-server] Added API Key auth to rust-server - #2459

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth
Apr 1, 2019
Merged

[rust-server] Added API Key auth to rust-server#2459
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth

Conversation

@Herrera93

@Herrera93Herrera93 commented Mar 20, 2019

Copy link
Copy Markdown
Contributor

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol@farcaller@bjgill

Description of the PR

Added API Key authentication in rust-server for both in header and query. Still missing in cookie.

For query, since we're not available to modify hyper request after creating it, I added it to the uri created. To do this I had to move let query_string = ... outside of the queryParams block which means it'll be present even if there aren't any queryParams or query API Key. I think we can change this by creating an additional property to check for both conditions.

For header it was easier since we can use header_mut on request to add any new headers to it. I only added the variable x-keyVarName to vendor extensions in order to camel case the header.

One other downside to this is that we may need to refactor it in case of multiple API Keys in headers.

@Herrera93Herrera93 changed the title Added API Key auth to rust-server[rust-server] Added API Key auth to rust-serverMar 20, 2019
@Herrera93

Copy link
Copy Markdown
ContributorAuthor

@bjgill Can you check this out ?

@wing328

Copy link
Copy Markdown
Member

cc Rust Techical committee: @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12)

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.

If this is really needed, can you use a better name? e.g. apiKeyName?

@Herrera93Herrera93Mar 25, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
I'm open to changing the name if you think that fits better.
As for the needing of this variable is so we can prevent problems like this example where the header is X-API-KEY which is the value of keyParamName but we wouldn't be available to use it like this:

// compile error
header! { (X-API-KEY, "X-API-KEY") => [String] }

This is the solution I came up with but if you have a better one we can use that one.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
Just changed the name from x-kayVarName to x-apiKeyName

@wing328

Copy link
Copy Markdown
Member

If no further feedback on this PR, I'll merge it over the weekend.

@wing328
wing328 merged commit ee69861 into OpenAPITools:masterApr 1, 2019
jimschubert added a commit that referenced this pull request Apr 2, 2019
* master: (133 commits)
#2503: fix out-of-memory issue with nested objects with arrays with maxItems set by limiting to max. 5 example items (#2536)
remove emitDefaultValue option (#2559)
fix EmitDefaultValue default vallue with false (#2558)
Added API Key auth to rust-server (#2459)
remove initialCaps and replace with camelize (#2546)
Add packageName configuration to maven (#2429)
[Typescript AngularJS] fix Extra package prefix in api parameters operations (#2522)
#1023 - [Scala] Use status family during response processing (#1024)
Generate setters for readonly properties in server code (#1582)
[JS] fix NPE for null string and improve Travis config file (#2553)
[elm] Update ISO 8601 library (fixes missing time zone designator) (#2545)
[csharp] update sample after #2528 (#2550)
[JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (#2511)
Aspnetcore nullable support (#2529)
Csharp nullable support (#2528)
[C++] [Qt5] Add enum support for client and server (#2339)
Fixed typo in migration-from-swagger-codegen.md (#2548)
[TypeScript Client] fix install Aurelia + fix use deprecated function (#2514)
[KOTLIN] fix var name not correctly sanitized (#2537)
Update swagger-parser to '2.0.11-OpenAPITools.org-1' (#2262)
...
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

@Herrera93@wing328@richardwhiuk
, '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('^' + ".*" + ' [rust-server] Added API Key auth to rust-server by Herrera93 · Pull Request #2459 · OpenAPITools/openapi-generator · GitHub
Skip to content

[rust-server] Added API Key auth to rust-server - #2459

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth
Apr 1, 2019
Merged

[rust-server] Added API Key auth to rust-server#2459
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth

Conversation

@Herrera93

@Herrera93Herrera93 commented Mar 20, 2019

Copy link
Copy Markdown
Contributor

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol@farcaller@bjgill

Description of the PR

Added API Key authentication in rust-server for both in header and query. Still missing in cookie.

For query, since we're not available to modify hyper request after creating it, I added it to the uri created. To do this I had to move let query_string = ... outside of the queryParams block which means it'll be present even if there aren't any queryParams or query API Key. I think we can change this by creating an additional property to check for both conditions.

For header it was easier since we can use header_mut on request to add any new headers to it. I only added the variable x-keyVarName to vendor extensions in order to camel case the header.

One other downside to this is that we may need to refactor it in case of multiple API Keys in headers.

@Herrera93Herrera93 changed the title Added API Key auth to rust-server[rust-server] Added API Key auth to rust-serverMar 20, 2019
@Herrera93

Copy link
Copy Markdown
ContributorAuthor

@bjgill Can you check this out ?

@wing328

Copy link
Copy Markdown
Member

cc Rust Techical committee: @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12)

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.

If this is really needed, can you use a better name? e.g. apiKeyName?

@Herrera93Herrera93Mar 25, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
I'm open to changing the name if you think that fits better.
As for the needing of this variable is so we can prevent problems like this example where the header is X-API-KEY which is the value of keyParamName but we wouldn't be available to use it like this:

// compile error
header! { (X-API-KEY, "X-API-KEY") => [String] }

This is the solution I came up with but if you have a better one we can use that one.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
Just changed the name from x-kayVarName to x-apiKeyName

@wing328

Copy link
Copy Markdown
Member

If no further feedback on this PR, I'll merge it over the weekend.

@wing328
wing328 merged commit ee69861 into OpenAPITools:masterApr 1, 2019
jimschubert added a commit that referenced this pull request Apr 2, 2019
* master: (133 commits)
#2503: fix out-of-memory issue with nested objects with arrays with maxItems set by limiting to max. 5 example items (#2536)
remove emitDefaultValue option (#2559)
fix EmitDefaultValue default vallue with false (#2558)
Added API Key auth to rust-server (#2459)
remove initialCaps and replace with camelize (#2546)
Add packageName configuration to maven (#2429)
[Typescript AngularJS] fix Extra package prefix in api parameters operations (#2522)
#1023 - [Scala] Use status family during response processing (#1024)
Generate setters for readonly properties in server code (#1582)
[JS] fix NPE for null string and improve Travis config file (#2553)
[elm] Update ISO 8601 library (fixes missing time zone designator) (#2545)
[csharp] update sample after #2528 (#2550)
[JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (#2511)
Aspnetcore nullable support (#2529)
Csharp nullable support (#2528)
[C++] [Qt5] Add enum support for client and server (#2339)
Fixed typo in migration-from-swagger-codegen.md (#2548)
[TypeScript Client] fix install Aurelia + fix use deprecated function (#2514)
[KOTLIN] fix var name not correctly sanitized (#2537)
Update swagger-parser to '2.0.11-OpenAPITools.org-1' (#2262)
...
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

@Herrera93@wing328@richardwhiuk
, '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('^' + ".*" + ' [rust-server] Added API Key auth to rust-server by Herrera93 · Pull Request #2459 · OpenAPITools/openapi-generator · GitHub
Skip to content

[rust-server] Added API Key auth to rust-server - #2459

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth
Apr 1, 2019
Merged

[rust-server] Added API Key auth to rust-server#2459
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth

Conversation

@Herrera93

@Herrera93Herrera93 commented Mar 20, 2019

Copy link
Copy Markdown
Contributor

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol@farcaller@bjgill

Description of the PR

Added API Key authentication in rust-server for both in header and query. Still missing in cookie.

For query, since we're not available to modify hyper request after creating it, I added it to the uri created. To do this I had to move let query_string = ... outside of the queryParams block which means it'll be present even if there aren't any queryParams or query API Key. I think we can change this by creating an additional property to check for both conditions.

For header it was easier since we can use header_mut on request to add any new headers to it. I only added the variable x-keyVarName to vendor extensions in order to camel case the header.

One other downside to this is that we may need to refactor it in case of multiple API Keys in headers.

@Herrera93Herrera93 changed the title Added API Key auth to rust-server[rust-server] Added API Key auth to rust-serverMar 20, 2019
@Herrera93

Copy link
Copy Markdown
ContributorAuthor

@bjgill Can you check this out ?

@wing328

Copy link
Copy Markdown
Member

cc Rust Techical committee: @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12)

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.

If this is really needed, can you use a better name? e.g. apiKeyName?

@Herrera93Herrera93Mar 25, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
I'm open to changing the name if you think that fits better.
As for the needing of this variable is so we can prevent problems like this example where the header is X-API-KEY which is the value of keyParamName but we wouldn't be available to use it like this:

// compile error
header! { (X-API-KEY, "X-API-KEY") => [String] }

This is the solution I came up with but if you have a better one we can use that one.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
Just changed the name from x-kayVarName to x-apiKeyName

@wing328

Copy link
Copy Markdown
Member

If no further feedback on this PR, I'll merge it over the weekend.

@wing328
wing328 merged commit ee69861 into OpenAPITools:masterApr 1, 2019
jimschubert added a commit that referenced this pull request Apr 2, 2019
* master: (133 commits)
#2503: fix out-of-memory issue with nested objects with arrays with maxItems set by limiting to max. 5 example items (#2536)
remove emitDefaultValue option (#2559)
fix EmitDefaultValue default vallue with false (#2558)
Added API Key auth to rust-server (#2459)
remove initialCaps and replace with camelize (#2546)
Add packageName configuration to maven (#2429)
[Typescript AngularJS] fix Extra package prefix in api parameters operations (#2522)
#1023 - [Scala] Use status family during response processing (#1024)
Generate setters for readonly properties in server code (#1582)
[JS] fix NPE for null string and improve Travis config file (#2553)
[elm] Update ISO 8601 library (fixes missing time zone designator) (#2545)
[csharp] update sample after #2528 (#2550)
[JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (#2511)
Aspnetcore nullable support (#2529)
Csharp nullable support (#2528)
[C++] [Qt5] Add enum support for client and server (#2339)
Fixed typo in migration-from-swagger-codegen.md (#2548)
[TypeScript Client] fix install Aurelia + fix use deprecated function (#2514)
[KOTLIN] fix var name not correctly sanitized (#2537)
Update swagger-parser to '2.0.11-OpenAPITools.org-1' (#2262)
...
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

@Herrera93@wing328@richardwhiuk
, '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" + ' [rust-server] Added API Key auth to rust-server by Herrera93 · Pull Request #2459 · OpenAPITools/openapi-generator · GitHub
Skip to content

[rust-server] Added API Key auth to rust-server - #2459

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth
Apr 1, 2019
Merged

[rust-server] Added API Key auth to rust-server#2459
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth

Conversation

@Herrera93

@Herrera93Herrera93 commented Mar 20, 2019

Copy link
Copy Markdown
Contributor

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol@farcaller@bjgill

Description of the PR

Added API Key authentication in rust-server for both in header and query. Still missing in cookie.

For query, since we're not available to modify hyper request after creating it, I added it to the uri created. To do this I had to move let query_string = ... outside of the queryParams block which means it'll be present even if there aren't any queryParams or query API Key. I think we can change this by creating an additional property to check for both conditions.

For header it was easier since we can use header_mut on request to add any new headers to it. I only added the variable x-keyVarName to vendor extensions in order to camel case the header.

One other downside to this is that we may need to refactor it in case of multiple API Keys in headers.

@Herrera93Herrera93 changed the title Added API Key auth to rust-server[rust-server] Added API Key auth to rust-serverMar 20, 2019
@Herrera93

Copy link
Copy Markdown
ContributorAuthor

@bjgill Can you check this out ?

@wing328

Copy link
Copy Markdown
Member

cc Rust Techical committee: @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12)

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.

If this is really needed, can you use a better name? e.g. apiKeyName?

@Herrera93Herrera93Mar 25, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
I'm open to changing the name if you think that fits better.
As for the needing of this variable is so we can prevent problems like this example where the header is X-API-KEY which is the value of keyParamName but we wouldn't be available to use it like this:

// compile error
header! { (X-API-KEY, "X-API-KEY") => [String] }

This is the solution I came up with but if you have a better one we can use that one.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
Just changed the name from x-kayVarName to x-apiKeyName

@wing328

Copy link
Copy Markdown
Member

If no further feedback on this PR, I'll merge it over the weekend.

@wing328
wing328 merged commit ee69861 into OpenAPITools:masterApr 1, 2019
jimschubert added a commit that referenced this pull request Apr 2, 2019
* master: (133 commits)
#2503: fix out-of-memory issue with nested objects with arrays with maxItems set by limiting to max. 5 example items (#2536)
remove emitDefaultValue option (#2559)
fix EmitDefaultValue default vallue with false (#2558)
Added API Key auth to rust-server (#2459)
remove initialCaps and replace with camelize (#2546)
Add packageName configuration to maven (#2429)
[Typescript AngularJS] fix Extra package prefix in api parameters operations (#2522)
#1023 - [Scala] Use status family during response processing (#1024)
Generate setters for readonly properties in server code (#1582)
[JS] fix NPE for null string and improve Travis config file (#2553)
[elm] Update ISO 8601 library (fixes missing time zone designator) (#2545)
[csharp] update sample after #2528 (#2550)
[JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (#2511)
Aspnetcore nullable support (#2529)
Csharp nullable support (#2528)
[C++] [Qt5] Add enum support for client and server (#2339)
Fixed typo in migration-from-swagger-codegen.md (#2548)
[TypeScript Client] fix install Aurelia + fix use deprecated function (#2514)
[KOTLIN] fix var name not correctly sanitized (#2537)
Update swagger-parser to '2.0.11-OpenAPITools.org-1' (#2262)
...
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

@Herrera93@wing328@richardwhiuk
, '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('^' + ".*" + ' [rust-server] Added API Key auth to rust-server by Herrera93 · Pull Request #2459 · OpenAPITools/openapi-generator · GitHub
Skip to content

[rust-server] Added API Key auth to rust-server - #2459

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth
Apr 1, 2019
Merged

[rust-server] Added API Key auth to rust-server#2459
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth

Conversation

@Herrera93

@Herrera93Herrera93 commented Mar 20, 2019

Copy link
Copy Markdown
Contributor

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol@farcaller@bjgill

Description of the PR

Added API Key authentication in rust-server for both in header and query. Still missing in cookie.

For query, since we're not available to modify hyper request after creating it, I added it to the uri created. To do this I had to move let query_string = ... outside of the queryParams block which means it'll be present even if there aren't any queryParams or query API Key. I think we can change this by creating an additional property to check for both conditions.

For header it was easier since we can use header_mut on request to add any new headers to it. I only added the variable x-keyVarName to vendor extensions in order to camel case the header.

One other downside to this is that we may need to refactor it in case of multiple API Keys in headers.

@Herrera93Herrera93 changed the title Added API Key auth to rust-server[rust-server] Added API Key auth to rust-serverMar 20, 2019
@Herrera93

Copy link
Copy Markdown
ContributorAuthor

@bjgill Can you check this out ?

@wing328

Copy link
Copy Markdown
Member

cc Rust Techical committee: @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12)

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.

If this is really needed, can you use a better name? e.g. apiKeyName?

@Herrera93Herrera93Mar 25, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
I'm open to changing the name if you think that fits better.
As for the needing of this variable is so we can prevent problems like this example where the header is X-API-KEY which is the value of keyParamName but we wouldn't be available to use it like this:

// compile error
header! { (X-API-KEY, "X-API-KEY") => [String] }

This is the solution I came up with but if you have a better one we can use that one.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
Just changed the name from x-kayVarName to x-apiKeyName

@wing328

Copy link
Copy Markdown
Member

If no further feedback on this PR, I'll merge it over the weekend.

@wing328
wing328 merged commit ee69861 into OpenAPITools:masterApr 1, 2019
jimschubert added a commit that referenced this pull request Apr 2, 2019
* master: (133 commits)
#2503: fix out-of-memory issue with nested objects with arrays with maxItems set by limiting to max. 5 example items (#2536)
remove emitDefaultValue option (#2559)
fix EmitDefaultValue default vallue with false (#2558)
Added API Key auth to rust-server (#2459)
remove initialCaps and replace with camelize (#2546)
Add packageName configuration to maven (#2429)
[Typescript AngularJS] fix Extra package prefix in api parameters operations (#2522)
#1023 - [Scala] Use status family during response processing (#1024)
Generate setters for readonly properties in server code (#1582)
[JS] fix NPE for null string and improve Travis config file (#2553)
[elm] Update ISO 8601 library (fixes missing time zone designator) (#2545)
[csharp] update sample after #2528 (#2550)
[JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (#2511)
Aspnetcore nullable support (#2529)
Csharp nullable support (#2528)
[C++] [Qt5] Add enum support for client and server (#2339)
Fixed typo in migration-from-swagger-codegen.md (#2548)
[TypeScript Client] fix install Aurelia + fix use deprecated function (#2514)
[KOTLIN] fix var name not correctly sanitized (#2537)
Update swagger-parser to '2.0.11-OpenAPITools.org-1' (#2262)
...
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

@Herrera93@wing328@richardwhiuk
, '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); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [rust-server] Added API Key auth to rust-server by Herrera93 · Pull Request #2459 · OpenAPITools/openapi-generator · GitHub
Skip to content

[rust-server] Added API Key auth to rust-server - #2459

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth
Apr 1, 2019
Merged

[rust-server] Added API Key auth to rust-server#2459
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth

Conversation

@Herrera93

@Herrera93Herrera93 commented Mar 20, 2019

Copy link
Copy Markdown
Contributor

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol@farcaller@bjgill

Description of the PR

Added API Key authentication in rust-server for both in header and query. Still missing in cookie.

For query, since we're not available to modify hyper request after creating it, I added it to the uri created. To do this I had to move let query_string = ... outside of the queryParams block which means it'll be present even if there aren't any queryParams or query API Key. I think we can change this by creating an additional property to check for both conditions.

For header it was easier since we can use header_mut on request to add any new headers to it. I only added the variable x-keyVarName to vendor extensions in order to camel case the header.

One other downside to this is that we may need to refactor it in case of multiple API Keys in headers.

@Herrera93Herrera93 changed the title Added API Key auth to rust-server[rust-server] Added API Key auth to rust-serverMar 20, 2019
@Herrera93

Copy link
Copy Markdown
ContributorAuthor

@bjgill Can you check this out ?

@wing328

Copy link
Copy Markdown
Member

cc Rust Techical committee: @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12)

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.

If this is really needed, can you use a better name? e.g. apiKeyName?

@Herrera93Herrera93Mar 25, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
I'm open to changing the name if you think that fits better.
As for the needing of this variable is so we can prevent problems like this example where the header is X-API-KEY which is the value of keyParamName but we wouldn't be available to use it like this:

// compile error
header! { (X-API-KEY, "X-API-KEY") => [String] }

This is the solution I came up with but if you have a better one we can use that one.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
Just changed the name from x-kayVarName to x-apiKeyName

@wing328

Copy link
Copy Markdown
Member

If no further feedback on this PR, I'll merge it over the weekend.

@wing328
wing328 merged commit ee69861 into OpenAPITools:masterApr 1, 2019
jimschubert added a commit that referenced this pull request Apr 2, 2019
* master: (133 commits)
#2503: fix out-of-memory issue with nested objects with arrays with maxItems set by limiting to max. 5 example items (#2536)
remove emitDefaultValue option (#2559)
fix EmitDefaultValue default vallue with false (#2558)
Added API Key auth to rust-server (#2459)
remove initialCaps and replace with camelize (#2546)
Add packageName configuration to maven (#2429)
[Typescript AngularJS] fix Extra package prefix in api parameters operations (#2522)
#1023 - [Scala] Use status family during response processing (#1024)
Generate setters for readonly properties in server code (#1582)
[JS] fix NPE for null string and improve Travis config file (#2553)
[elm] Update ISO 8601 library (fixes missing time zone designator) (#2545)
[csharp] update sample after #2528 (#2550)
[JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (#2511)
Aspnetcore nullable support (#2529)
Csharp nullable support (#2528)
[C++] [Qt5] Add enum support for client and server (#2339)
Fixed typo in migration-from-swagger-codegen.md (#2548)
[TypeScript Client] fix install Aurelia + fix use deprecated function (#2514)
[KOTLIN] fix var name not correctly sanitized (#2537)
Update swagger-parser to '2.0.11-OpenAPITools.org-1' (#2262)
...
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

@Herrera93@wing328@richardwhiuk
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); [rust-server] Added API Key auth to rust-server by Herrera93 · Pull Request #2459 · OpenAPITools/openapi-generator · GitHub
Skip to content

[rust-server] Added API Key auth to rust-server - #2459

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth
Apr 1, 2019
Merged

[rust-server] Added API Key auth to rust-server#2459
wing328 merged 1 commit into
OpenAPITools:masterfrom
joylabs:api_key_auth

Conversation

@Herrera93

@Herrera93Herrera93 commented Mar 20, 2019

Copy link
Copy Markdown
Contributor

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol@farcaller@bjgill

Description of the PR

Added API Key authentication in rust-server for both in header and query. Still missing in cookie.

For query, since we're not available to modify hyper request after creating it, I added it to the uri created. To do this I had to move let query_string = ... outside of the queryParams block which means it'll be present even if there aren't any queryParams or query API Key. I think we can change this by creating an additional property to check for both conditions.

For header it was easier since we can use header_mut on request to add any new headers to it. I only added the variable x-keyVarName to vendor extensions in order to camel case the header.

One other downside to this is that we may need to refactor it in case of multiple API Keys in headers.

@Herrera93Herrera93 changed the title Added API Key auth to rust-server[rust-server] Added API Key auth to rust-serverMar 20, 2019
@Herrera93

Copy link
Copy Markdown
ContributorAuthor

@bjgill Can you check this out ?

@wing328

Copy link
Copy Markdown
Member

cc Rust Techical committee: @frol (2017/07) @farcaller (2017/08) @bjgill (2017/12)

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.

If this is really needed, can you use a better name? e.g. apiKeyName?

@Herrera93Herrera93Mar 25, 2019

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
I'm open to changing the name if you think that fits better.
As for the needing of this variable is so we can prevent problems like this example where the header is X-API-KEY which is the value of keyParamName but we wouldn't be available to use it like this:

// compile error
header! { (X-API-KEY, "X-API-KEY") => [String] }

This is the solution I came up with but if you have a better one we can use that one.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@richardwhiuk
Just changed the name from x-kayVarName to x-apiKeyName

@wing328

Copy link
Copy Markdown
Member

If no further feedback on this PR, I'll merge it over the weekend.

@wing328
wing328 merged commit ee69861 into OpenAPITools:masterApr 1, 2019
jimschubert added a commit that referenced this pull request Apr 2, 2019
* master: (133 commits)
#2503: fix out-of-memory issue with nested objects with arrays with maxItems set by limiting to max. 5 example items (#2536)
remove emitDefaultValue option (#2559)
fix EmitDefaultValue default vallue with false (#2558)
Added API Key auth to rust-server (#2459)
remove initialCaps and replace with camelize (#2546)
Add packageName configuration to maven (#2429)
[Typescript AngularJS] fix Extra package prefix in api parameters operations (#2522)
#1023 - [Scala] Use status family during response processing (#1024)
Generate setters for readonly properties in server code (#1582)
[JS] fix NPE for null string and improve Travis config file (#2553)
[elm] Update ISO 8601 library (fixes missing time zone designator) (#2545)
[csharp] update sample after #2528 (#2550)
[JavaScript] fix index.js, ApiClient.js and test files generated to incorrect location (#2511)
Aspnetcore nullable support (#2529)
Csharp nullable support (#2528)
[C++] [Qt5] Add enum support for client and server (#2339)
Fixed typo in migration-from-swagger-codegen.md (#2548)
[TypeScript Client] fix install Aurelia + fix use deprecated function (#2514)
[KOTLIN] fix var name not correctly sanitized (#2537)
Update swagger-parser to '2.0.11-OpenAPITools.org-1' (#2262)
...
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

@Herrera93@wing328@richardwhiuk