uawdijnntqw1x1x1
IP : 3.142.200.252
Hostname : ns1.eurodns.top
Kernel : Linux ns1.eurodns.top 4.18.0-553.5.1.lve.1.el7h.x86_64 #1 SMP Fri Jun 14 14:24:52 UTC 2024 x86_64
Disable Function : mail,sendmail,exec,passthru,shell_exec,system,popen,curl_multi_exec,show_source,eval,open_base
OS : Linux
PATH:
/
home
/
sudancam
/
public_html
/
.
/
jm
/
..
/
0d544
/
..
/
un6xee
/
index
/
kong-request-termination-plugin-example.php
/
/
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> <style id="astra-theme-css-inline-css"> .ast-no-sidebar .entry-content .alignfull {margin-left: calc( -50vw + 50%);margin-right: calc( -50vw + 50%);max-width: 100vw;width: 100vw;}.ast-no-sidebar .entry-content .alignwide {margin-left: calc(-41vw + 50%);margin-right: calc(-41vw + 50%);max-width: unset;width: unset;}.ast-no-sidebar .entry-content .alignfull .alignfull,.ast-no-sidebar .entry-content .alignfull .alignwide,.ast-no-sidebar .entry-content .alignwide .alignfull,.ast-no-sidebar .entry-content .alignwide .alignwide,.ast-no-sidebar .entry-content .wp-block-column .alignfull,.ast-no-sidebar .entry-content .wp-block-column .alignwide{width: 100%;margin-left: auto;margin-right: auto;}.wp-block-gallery,.blocks-gallery-grid {margin: 0;}.wp-block-separator {max-width: 100px;}.,. {max-width: none;}.entry-content .has-2-columns .wp-block-column:first-child {padding-right: 10px;}.entry-content .has-2-columns .wp-block-column:last-child {padding-left: 10px;}@media (max-width: 782px) {.entry-content .wp-block-columns .wp-block-column {flex-basis: 100%;}.entry-content .has-2-columns .wp-block-column:first-child {padding-right: 0;}.entry-content .has-2-columns .wp-block-column:last-child {padding-left: 0;}}body .entry-content .wp-block-latest-posts {margin-left: 0;}body .entry-content .wp-block-latest-posts li {list-style: none;}.ast-no-sidebar .ast-container .entry-content .wp-block-latest-posts {margin-left: 0;}.ast-header-break-point .entry-content .alignwide {margin-left: auto;margin-right: auto;}.entry-content .blocks-gallery-item img {margin-bottom: auto;}.wp-block-pullquote {border-top: 4px solid #555d66;border-bottom: 4px solid #555d66;color: #40464d;}:root{--ast-container-default-xlg-padding:;--ast-container-default-lg-padding:;--ast-container-default-slg-padding:;--ast-container-default-md-padding:;--ast-container-default-sm-padding:;--ast-container-default-xs-padding:;--ast-container-default-xxs-padding:;--ast-code-block-background:#EEEEEE;--ast-comment-inputs-background:#FAFAFA;--ast-normal-container-width:1100px;--ast-narrow-container-width:750px;--ast-blog-title-font-weight:normal;--ast-blog-meta-weight:inherit;}html{font-size:%;}a,.page-title{color:#1e73be;}a:hover,a:focus{color:#dd9933;}body,button,input,select,textarea,.ast-button,.ast-custom-button{font-family:Verdana,Helvetica,Arial,sans-serif;font-weight:400;font-size:15px;font-size:1rem;line-height:var(--ast-body-line-height,);}blockquote{color:#000000;}p,.entry-content p{margin-bottom:;}h1,.entry-content h1,.entry-content h1 a,h2,.entry-content h2,.entry-content h2 a,h3,.entry-content h3,.entry-content h3 a,h4,.entry-content h4,.entry-content h4 a,h5,.entry-content h5,.entry-content h5 a,h6,.entry-content h6,.entry-content h6 a,.site-title,.site-title a{font-weight:normal;}.site-title{font-size:40px;font-size:;display:block;}.site-header .site-description{font-size:15px;font-size:1rem;display:block;}.entry-title{font-size:30px;font-size:2rem;}.archive .ast-article-post .ast-article-inner,.blog .ast-article-post .ast-article-inner,.archive .ast-article-post .ast-article-inner:hover,.blog .ast-article-post .ast-article-inner:hover{overflow:hidden;}h1,.entry-content h1,.entry-content h1 a{font-size:48px;font-size:;line-height:;}h2,.entry-content h2,.entry-content h2 a{font-size:42px;font-size:;line-height:;}h3,.entry-content h3,.entry-content h3 a{font-size:30px;font-size:2rem;line-height:;}h4,.entry-content h4,.entry-content h4 a{font-size:24px;font-size:;line-height:;}h5,.entry-content h5,.entry-content h5 a{font-size:20px;font-size:;line-height:;}h6,.entry-content h6,.entry-content h6 a{font-size:16px;font-size:;line-height:;}::selection{background-color:#1e73be;color:#ffffff;}body,h1,.entry-title a,.entry-content h1,.entry-content h1 a,h2,.entry-content h2,.entry-content h2 a,h3,.entry-content h3,.entry-content h3 a,h4,.entry-content h4,.entry-content h4 a,h5,.entry-content h5,.entry-content h5 a,h6,.entry-content h6,.entry-content h6 a{color:#000000;}.tagcloud a:hover,.tagcloud a:focus,.tagcloud {color:#ffffff;border-color:#1e73be;background-color:#1e73be;}input:focus,input[type="text"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="password"]:focus,input[type="reset"]:focus,input[type="search"]:focus,textarea:focus{border-color:#1e73be;}input[type="radio"]:checked,input[type=reset],input[type="checkbox"]:checked,input[type="checkbox"]:hover:checked,input[type="checkbox"]:focus:checked,input[type=range]::-webkit-slider-thumb{border-color:#1e73be;background-color:#1e73be;box-shadow:none;}.site-footer a:hover + .post-count,.site-footer a:focus + .post-count{background:#1e73be;border-color:#1e73be;}.single .nav-links .nav-previous,.single .nav-links .nav-next{color:#1e73be;}.entry-meta,.entry-meta *{line-height:;color:#1e73be;}.entry-meta a:not(.ast-button):hover,.entry-meta a:not(.ast-button):hover *,.entry-meta a:not(.ast-button):focus,.entry-meta a:not(.ast-button):focus *,.page-links > .page-link,.page-links .page-link:hover,.post-navigation a:hover{color:#dd9933;}#cat option,.secondary .calendar_wrap thead a,.secondary .calendar_wrap thead a:visited{color:#1e73be;}.secondary .calendar_wrap #today,.ast-progress-val span{background:#1e73be;}.secondary a:hover + .post-count,.secondary a:focus + .post-count{background:#1e73be;border-color:#1e73be;}.calendar_wrap #today > a{color:#ffffff;}.page-links .page-link,.single .post-navigation a{color:#1e73be;}.ast-search-menu-icon .search-form {padding:0 4px;}.ast-search-menu-icon {padding-right:0;}. {width:0;}.ast-header-search . .search-form,.ast-header-search . .search-field:focus{transition:all ;}.search-form :focus{outline:none;}.widget-title,.widget .wp-block-heading{font-size:21px;font-size:;color:#000000;}#secondary,#secondary button,#secondary input,#secondary select,#secondary textarea{font-size:15px;font-size:1rem;}. a:focus-visible:focus-visible,.astra-search-icon:focus-visible,#close:focus-visible,a:focus-visible,.ast-menu-toggle:focus-visible,.site .skip-link:focus-visible,.wp-block-loginout input:focus-visible,. .wp-block-search__inside-wrapper,.ast-header-navigation-arrow:focus-visible,.woocommerce .wc-proceed-to-checkout > .checkout-button:focus-visible,.woocommerce .woocommerce-MyAccount-navigation ul li a:focus-visible,.ast-orders-table__row .ast-orders-table__cell:focus-visible,.woocommerce .woocommerce-order-details .order-again > .button:focus-visible,.woocommerce .woocommerce-message :focus-visible,.woocommerce #minus_qty:focus-visible,.woocommerce #plus_qty:focus-visible,a#ast-apply-coupon:focus-visible,.woocommerce .woocommerce-info a:focus-visible,.woocommerce .astra-shop-summary-wrap a:focus-visible,.woocommerce :focus-visible,#ast-apply-coupon:focus-visible,.woocommerce-js .woocommerce-mini-cart-item :focus-visible,#close:focus-visible,.:focus-visible,#search_submit:focus,.normal-search:focus-visible{outline-style:dotted;outline-color:inherit;outline-width:thin;}input:focus,input[type="text"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="password"]:focus,input[type="reset"]:focus,input[type="search"]:focus,input[type="number"]:focus,textarea:focus,.wp-block-search__input:focus,[data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal:focus,. .menu-toggle-close:focus,.woocommerce-ordering :focus,#ast-scroll-top:focus,#coupon_code:focus,.woocommerce-page #comment:focus,.woocommerce #reviews #respond input#submit:focus,.woocommerce :focus,.woocommerce .:focus,.woocommerce .woocommerce-cart-form button:focus,.woocommerce .woocommerce-cart-form__cart-item .quantity .qty:focus,.woocommerce .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper > .input-text:focus,.woocommerce #order_comments:focus,.woocommerce #place_order:focus,.woocommerce .woocommerce-address-fields .woocommerce-address-fields__field-wrapper .woocommerce-input-wrapper > .input-text:focus,.woocommerce .woocommerce-MyAccount-content form button:focus,.woocommerce .woocommerce-MyAccount-content .woocommerce-EditAccountForm .woocommerce-form-row .:focus,.woocommerce .ast-woocommerce-container .woocommerce-pagination li a:focus,body #content .woocommerce form .form-row .select2-container--default .select2-selection--single:focus,#ast-coupon-code:focus,. .quantity input[type=number]:focus,.woocommerce-js .woocommerce-mini-cart-item .quantity input[type=number]:focus,.woocommerce p#ast-coupon-trigger:focus{border-style:dotted;border-color:inherit;border-width:thin;}input{outline:none;}.main-header-menu .menu-link,.ast-header-custom-item a{color:#000000;}.main-header-menu .menu-item:hover > .menu-link,.main-header-menu .menu-item:hover > .ast-menu-toggle,.main-header-menu .ast-masthead-custom-menu-items a:hover,.main-header-menu . > .menu-link,.main-header-menu . > .ast-menu-toggle,.main-header-menu .current-menu-item > .menu-link,.main-header-menu .current-menu-ancestor > .menu-link,.main-header-menu .current-menu-item > .ast-menu-toggle,.main-header-menu .current-menu-ancestor > .ast-menu-toggle{color:#1e73be;}.header-main-layout-3 .ast-main-header-bar-alignment{margin-right:auto;}.header-main-layout-2 .site-header-section-left .ast-site-identity{text-align:left;}body .ast-oembed-container *{position:absolute;top:0;width:100%;height:100%;left:0;}body .wp-block-embed-pocket-casts .ast-oembed-container *{position:unset;}.ast-header-break-point .{background:transparent;color:#222222;}.ast-header-break-point .{background:transparent;border:1px solid #222222;color:#222222;}.ast-header-break-point .{background:#222222;color:#ffffff;}.ast-single-post-featured-section + article {margin-top: 2em;}.site-content .ast-single-post-featured-section img {width: 100%;overflow: hidden;object-fit: cover;}.site > .ast-single-related-posts-container {margin-top: 0;}@media (min-width: 769px) {.ast-desktop .ast-container--narrow {max-width: var(--ast-narrow-container-width);margin: 0 auto;}}#secondary {margin: 4em 0 ;word-break: break-word;line-height: 2;}#secondary li {margin-bottom: ;}#secondary li:last-child {margin-bottom: 0;}@media (max-width: 768px) {.js_active . #secondary {margin-top: ;}}. #secondary .widget {background-color: #fff;padding: 2em;margin-bottom: 2em;}@media (min-width: 993px) {.ast-left-sidebar #secondary {padding-right: 60px;}.ast-right-sidebar #secondary {padding-left: 60px;}}@media (max-width: 993px) {.ast-right-sidebar #secondary {padding-left: 30px;}.ast-left-sidebar #secondary {padding-right: 30px;}}.ast-small-footer > .ast-footer-overlay{background-color:#222222;;}.footer-adv .footer-adv-overlay{border-top-style:solid;border-top-color:#7a7a7a;}.{justify-content:center;}@media (max-width:782px){.entry-content .wp-block-columns .wp-block-column{margin-left:0px;}}.{margin-left:auto;margin-right:auto;}.{margin-left:auto;margin-right:auto;}.wp-block-buttons . .,.ast-outline-button,.wp-block-uagb-buttons-child .{border-color:#222222;border-top-width:2px;border-right-width:2px;border-bottom-width:2px;border-left-width:2px;font-family:inherit;font-weight:inherit;line-height:1em;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}. .wp-block-button__link:hover,.wp-block-buttons . .wp-block-button__link:focus,.wp-block-buttons . > .wp-block-button__link:not(.has-text-color):hover,.wp-block-buttons .:not(.has-text-color):hover,.ast-outline-button:hover,.ast-outline-button:focus,.wp-block-uagb-buttons-child .:hover,.wp-block-uagb-buttons-child .:focus{background-color:#222222;}.wp-block-button .:not(.has-background),.>.:not(.has-background),.ast-outline-button{background-color:#222222;}.entry-content[ast-blocks-layout] > figure{margin-bottom:1em;}@media (max-width:768px){.ast-separate-container #primary,.ast-separate-container #secondary{padding: 0;}#primary,#secondary{padding: 0;margin:0;}.ast-left-sidebar #content > .ast-container{display:flex;flex-direction:column-reverse;width:100%;}.ast-separate-container .ast-article-post,.ast-separate-container .ast-article-single{padding: ;}.ast-author-box {margin:20px 0 0 0;}}@media (max-width:768px){#{padding-top:0;}. #secondary{padding-left:1em;padding-right:1em;}. #secondary{padding-left:0;padding-right:0;}.ast-page-builder-template .entry-header #secondary,.ast-page-builder-template #secondary{margin-top:;}}@media (max-width:768px){.ast-right-sidebar #primary{padding-right:0;}. #secondary,. #secondary{padding-right:20px;padding-left:20px;}.ast-right-sidebar #secondary,.ast-left-sidebar #primary{padding-left:0;}.ast-left-sidebar #secondary{padding-right:0;}}@media (min-width:769px){. #primary,. #primary{border:0;}. #primary{margin-bottom:4em;}}@media (min-width:769px){.ast-right-sidebar #primary{border-right:1px solid var(--ast-border-color);}.ast-left-sidebar #primary{border-left:1px solid var(--ast-border-color);}.ast-right-sidebar #secondary{border-left:1px solid var(--ast-border-color);margin-left:-1px;}.ast-left-sidebar #secondary{border-right:1px solid var(--ast-border-color);margin-right:-1px;}. #secondary{padding-left:30px;padding-right:0;}. #secondary{padding-right:30px;padding-left:0;}. #secondary,. #secondary{border:0;margin-left:auto;margin-right:auto;}. #secondary .widget:last-child{margin-bottom:0;}}.menu-toggle,button,.ast-button,.ast-custom-button,.button,input#submit,input[type="button"],input[type="submit"],input[type="reset"]{color:#ffffff;border-color:#222222;background-color:#222222;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;padding-top:5px;padding-right:40px;padding-bottom:5px;padding-left:40px;font-family:inherit;font-weight:inherit;}button:focus,.menu-toggle:hover,button:hover,.ast-button:hover,.ast-custom-button:hover .button:hover,.ast-custom-button:hover,input[type=reset]:hover,input[type=reset]:focus,input#submit:hover,input#submit:focus,input[type="button"]:hover,input[type="button"]:focus,input[type="submit"]:hover,input[type="submit"]:focus{color:#ffffff;background-color:#222222;border-color:#222222;}@media (max-width:768px){.ast-mobile-header-stack .main-header-bar .ast-search-menu-icon{display:inline-block;}. .ast-mobile-header-stack .main-header-bar .ast-search-icon{margin:0;}.ast-comment-avatar-wrap img{max-width:;}.ast-comment-meta{padding:0 ;}.ast-separate-container .ast-comment-list {padding: ;}.ast-separate-container .comment-respond{padding:2em ;}}@media (min-width:544px){.ast-container{max-width:100%;}}@media (max-width:544px){.ast-separate-container .ast-article-post,.ast-separate-container .ast-article-single,.ast-separate-container .comments-title,.ast-separate-container .ast-archive-description{padding: 1em;}.ast-separate-container #content .ast-container{padding-left:;padding-right:;}.ast-separate-container .ast-comment-list .bypostauthor{padding:.5em;}. .search-field{width:170px;}.ast-separate-container #secondary{padding-top:0;}. #secondary .widget{margin-bottom:;padding-left:1em;padding-right:1em;}.site-branding img,.site-header .site-logo-img .custom-logo-link img{max-width:100%;}}body,.ast-separate-container{background-color:#3a3a3a;;}. .entry-content .alignfull {margin-left: ;margin-right: ;width: auto;}@media (max-width: 1200px) {. .entry-content .alignfull {margin-left: ;margin-right: ;}}@media (max-width: 768px) {. .entry-content .alignfull {margin-left: ;margin-right: ;}}@media (max-width: 544px) {. .entry-content .alignfull {margin-left: -1em;margin-right: -1em;}}. .entry-content .alignwide {margin-left: -20px;margin-right: -20px;}. .entry-content .wp-block-column .alignfull,. .entry-content .wp-block-column .alignwide {margin-left: auto;margin-right: auto;width: 100%;}@media (max-width:768px){.site-title{display:block;}.site-header .site-description{display:block;}h1,.entry-content h1,.entry-content h1 a{font-size:30px;}h2,.entry-content h2,.entry-content h2 a{font-size:25px;}h3,.entry-content h3,.entry-content h3 a{font-size:20px;}}@media (max-width:544px){.site-title{display:block;}.site-header .site-description{display:block;}h1,.entry-content h1,.entry-content h1 a{font-size:30px;}h2,.entry-content h2,.entry-content h2 a{font-size:25px;}h3,.entry-content h3,.entry-content h3 a{font-size:20px;}}@media (max-width:768px){html{font-size:85.5%;}}@media (max-width:544px){html{font-size:85.5%;}}@media (min-width:769px){.ast-container{max-width:1140px;}}@font-face {font-family: "Astra";src: url() format("woff"),url() format("truetype"),url(#astra) format("svg");font-weight: normal;font-style: normal;font-display: fallback;}@media (max-width:921px) {.main-header-bar .main-header-bar-navigation{display:none;}}.ast-desktop . .sub-menu,.ast-desktop . .astra-full-megamenu-wrapper{border-color:#eaeaea;}.ast-desktop . .sub-menu{border-top-width:1px;border-right-width:1px;border-left-width:1px;border-bottom-width:1px;border-style:solid;}.ast-desktop . .sub-menu .sub-menu{top:-1px;}.ast-desktop . .sub-menu .menu-link,.ast-desktop . .children .menu-link{border-bottom-width:1px;border-style:solid;border-color:#eaeaea;}@media (min-width:769px){.main-header-menu .sub-menu .:hover > .sub-menu,.main-header-menu .sub-menu . > .sub-menu{margin-left:-2px;}}.ast-small-footer{border-top-style:solid;border-top-width:1px;border-top-color:#7a7a7a;}.ast-small-footer-wrap{text-align:center;}.site .comments-area{padding-bottom:3em;}. .main-header-bar .main-header-bar-navigation .ast-search-icon {display: none;}. .main-header-bar .ast-search-menu-icon .search-form {padding: 0;display: block;overflow: hidden;}.ast-header-break-point .ast-header-custom-item .widget:last-child {margin-bottom: 1em;}.ast-header-custom-item .widget {margin: ;display: inline-block;vertical-align: middle;}.ast-header-custom-item .widget p {margin-bottom: 0;}.ast-header-custom-item .widget li {width: auto;}.ast-header-custom-item-inside .button-custom-menu-item .menu-link {display: none;}. .button-custom-menu-item .ast-custom-button-link {display: none;}. .button-custom-menu-item .menu-link {display: block;}. .main-header-bar .ast-search-icon {margin-right: 1em;}. .main-header-bar .ast-search-menu-icon .search-field,. .main-header-bar . .search-field {width: 100%;padding-right: ;}. .main-header-bar .ast-search-menu-icon .search-submit {display: block;position: absolute;height: 100%;top: 0;right: 0;padding: 0 1em;border-radius: 0;}.ast-header-break-point .ast-header-custom-item .ast-masthead-custom-menu-items {padding-left: 20px;padding-right: 20px;margin-bottom: 1em;margin-top: 1em;}. .button-custom-menu-item {padding-left: 0;padding-right: 0;margin-top: 0;margin-bottom: 0;}.astra-icon-down_arrow::after {content: "\e900";font-family: Astra;}.astra-icon-close::after {content: "\e5cd";font-family: Astra;}.astra-icon-drag_handle::after {content: "\e25d";font-family: Astra;}.astra-icon-format_align_justify::after {content: "\e235";font-family: Astra;}.astra-icon-menu::after {content: "\e5d2";font-family: Astra;}.astra-icon-reorder::after {content: "\e8fe";font-family: Astra;}.astra-icon-search::after {content: "\e8b6";font-family: Astra;}.astra-icon-zoom_in::after {content: "\e56b";font-family: Astra;}.astra-icon-check-circle::after {content: "\e901";font-family: Astra;}.astra-icon-shopping-cart::after {content: "\f07a";font-family: Astra;}.astra-icon-shopping-bag::after {content: "\f290";font-family: Astra;}.astra-icon-shopping-basket::after {content: "\f291";font-family: Astra;}.astra-icon-circle-o::after {content: "\e903";font-family: Astra;}.astra-icon-certificate::after {content: "\e902";font-family: Astra;}blockquote {padding: ;}:root .has-ast-global-color-0-color{color:var(--ast-global-color-0);}:root .has-ast-global-color-0-background-color{background-color:var(--ast-global-color-0);}:root .wp-block-button .has-ast-global-color-0-color{color:var(--ast-global-color-0);}:root .wp-block-button .has-ast-global-color-0-background-color{background-color:var(--ast-global-color-0);}:root .has-ast-global-color-1-color{color:var(--ast-global-color-1);}:root .has-ast-global-color-1-background-color{background-color:var(--ast-global-color-1);}:root .wp-block-button .has-ast-global-color-1-color{color:var(--ast-global-color-1);}:root .wp-block-button .has-ast-global-color-1-background-color{background-color:var(--ast-global-color-1);}:root .has-ast-global-color-2-color{color:var(--ast-global-color-2);}:root .has-ast-global-color-2-background-color{background-color:var(--ast-global-color-2);}:root .wp-block-button .has-ast-global-color-2-color{color:var(--ast-global-color-2);}:root .wp-block-button .has-ast-global-color-2-background-color{background-color:var(--ast-global-color-2);}:root .has-ast-global-color-3-color{color:var(--ast-global-color-3);}:root .has-ast-global-color-3-background-color{background-color:var(--ast-global-color-3);}:root .wp-block-button .has-ast-global-color-3-color{color:var(--ast-global-color-3);}:root .wp-block-button .has-ast-global-color-3-background-color{background-color:var(--ast-global-color-3);}:root .has-ast-global-color-4-color{color:var(--ast-global-color-4);}:root .has-ast-global-color-4-background-color{background-color:var(--ast-global-color-4);}:root .wp-block-button .has-ast-global-color-4-color{color:var(--ast-global-color-4);}:root .wp-block-button .has-ast-global-color-4-background-color{background-color:var(--ast-global-color-4);}:root .has-ast-global-color-5-color{color:var(--ast-global-color-5);}:root .has-ast-global-color-5-background-color{background-color:var(--ast-global-color-5);}:root .wp-block-button .has-ast-global-color-5-color{color:var(--ast-global-color-5);}:root .wp-block-button .has-ast-global-color-5-background-color{background-color:var(--ast-global-color-5);}:root .has-ast-global-color-6-color{color:var(--ast-global-color-6);}:root .has-ast-global-color-6-background-color{background-color:var(--ast-global-color-6);}:root .wp-block-button .has-ast-global-color-6-color{color:var(--ast-global-color-6);}:root .wp-block-button .has-ast-global-color-6-background-color{background-color:var(--ast-global-color-6);}:root .has-ast-global-color-7-color{color:var(--ast-global-color-7);}:root .has-ast-global-color-7-background-color{background-color:var(--ast-global-color-7);}:root .wp-block-button .has-ast-global-color-7-color{color:var(--ast-global-color-7);}:root .wp-block-button .has-ast-global-color-7-background-color{background-color:var(--ast-global-color-7);}:root .has-ast-global-color-8-color{color:var(--ast-global-color-8);}:root .has-ast-global-color-8-background-color{background-color:var(--ast-global-color-8);}:root .wp-block-button .has-ast-global-color-8-color{color:var(--ast-global-color-8);}:root .wp-block-button .has-ast-global-color-8-background-color{background-color:var(--ast-global-color-8);}:root{--ast-global-color-0:#0170B9;--ast-global-color-1:#3a3a3a;--ast-global-color-2:#3a3a3a;--ast-global-color-3:#4B4F58;--ast-global-color-4:#F5F5F5;--ast-global-color-5:#FFFFFF;--ast-global-color-6:#E5E5E5;--ast-global-color-7:#424242;--ast-global-color-8:#000000;}:root {--ast-border-color : #dddddd;}#masthead .ast-container,.ast-header-breadcrumb .ast-container{max-width:100%;padding-left:35px;padding-right:35px;}@media (max-width:921px){#masthead .ast-container,.ast-header-breadcrumb .ast-container{padding-left:20px;padding-right:20px;}}. .main-header-bar .main-header-bar-navigation .ast-search-icon {display: none;}. .main-header-bar .ast-search-menu-icon .search-form {padding: 0;display: block;overflow: hidden;}.ast-header-break-point .ast-header-custom-item .widget:last-child {margin-bottom: 1em;}.ast-header-custom-item .widget {margin: ;display: inline-block;vertical-align: middle;}.ast-header-custom-item .widget p {margin-bottom: 0;}.ast-header-custom-item .widget li {width: auto;}.ast-header-custom-item-inside .button-custom-menu-item .menu-link {display: none;}. .button-custom-menu-item .ast-custom-button-link {display: none;}. .button-custom-menu-item .menu-link {display: block;}. .main-header-bar .ast-search-icon {margin-right: 1em;}. .main-header-bar .ast-search-menu-icon .search-field,. .main-header-bar . .search-field {width: 100%;padding-right: ;}. .main-header-bar .ast-search-menu-icon .search-submit {display: block;position: absolute;height: 100%;top: 0;right: 0;padding: 0 1em;border-radius: 0;}.ast-header-break-point .ast-header-custom-item .ast-masthead-custom-menu-items {padding-left: 20px;padding-right: 20px;margin-bottom: 1em;margin-top: 1em;}. .button-custom-menu-item {padding-left: 0;padding-right: 0;margin-top: 0;margin-bottom: 0;}.astra-icon-down_arrow::after {content: "\e900";font-family: Astra;}.astra-icon-close::after {content: "\e5cd";font-family: Astra;}.astra-icon-drag_handle::after {content: "\e25d";font-family: Astra;}.astra-icon-format_align_justify::after {content: "\e235";font-family: Astra;}.astra-icon-menu::after {content: "\e5d2";font-family: Astra;}.astra-icon-reorder::after {content: "\e8fe";font-family: Astra;}.astra-icon-search::after {content: "\e8b6";font-family: Astra;}.astra-icon-zoom_in::after {content: "\e56b";font-family: Astra;}.astra-icon-check-circle::after {content: "\e901";font-family: Astra;}.astra-icon-shopping-cart::after {content: "\f07a";font-family: Astra;}.astra-icon-shopping-bag::after {content: "\f290";font-family: Astra;}.astra-icon-shopping-basket::after {content: "\f291";font-family: Astra;}.astra-icon-circle-o::after {content: "\e903";font-family: Astra;}.astra-icon-certificate::after {content: "\e902";font-family: Astra;}blockquote {padding: ;}:root .has-ast-global-color-0-color{color:var(--ast-global-color-0);}:root .has-ast-global-color-0-background-color{background-color:var(--ast-global-color-0);}:root .wp-block-button .has-ast-global-color-0-color{color:var(--ast-global-color-0);}:root .wp-block-button .has-ast-global-color-0-background-color{background-color:var(--ast-global-color-0);}:root .has-ast-global-color-1-color{color:var(--ast-global-color-1);}:root .has-ast-global-color-1-background-color{background-color:var(--ast-global-color-1);}:root .wp-block-button .has-ast-global-color-1-color{color:var(--ast-global-color-1);}:root .wp-block-button .has-ast-global-color-1-background-color{background-color:var(--ast-global-color-1);}:root .has-ast-global-color-2-color{color:var(--ast-global-color-2);}:root .has-ast-global-color-2-background-color{background-color:var(--ast-global-color-2);}:root .wp-block-button .has-ast-global-color-2-color{color:var(--ast-global-color-2);}:root .wp-block-button .has-ast-global-color-2-background-color{background-color:var(--ast-global-color-2);}:root .has-ast-global-color-3-color{color:var(--ast-global-color-3);}:root .has-ast-global-color-3-background-color{background-color:var(--ast-global-color-3);}:root .wp-block-button .has-ast-global-color-3-color{color:var(--ast-global-color-3);}:root .wp-block-button .has-ast-global-color-3-background-color{background-color:var(--ast-global-color-3);}:root .has-ast-global-color-4-color{color:var(--ast-global-color-4);}:root .has-ast-global-color-4-background-color{background-color:var(--ast-global-color-4);}:root .wp-block-button .has-ast-global-color-4-color{color:var(--ast-global-color-4);}:root .wp-block-button .has-ast-global-color-4-background-color{background-color:var(--ast-global-color-4);}:root .has-ast-global-color-5-color{color:var(--ast-global-color-5);}:root .has-ast-global-color-5-background-color{background-color:var(--ast-global-color-5);}:root .wp-block-button .has-ast-global-color-5-color{color:var(--ast-global-color-5);}:root .wp-block-button .has-ast-global-color-5-background-color{background-color:var(--ast-global-color-5);}:root .has-ast-global-color-6-color{color:var(--ast-global-color-6);}:root .has-ast-global-color-6-background-color{background-color:var(--ast-global-color-6);}:root .wp-block-button .has-ast-global-color-6-color{color:var(--ast-global-color-6);}:root .wp-block-button .has-ast-global-color-6-background-color{background-color:var(--ast-global-color-6);}:root .has-ast-global-color-7-color{color:var(--ast-global-color-7);}:root .has-ast-global-color-7-background-color{background-color:var(--ast-global-color-7);}:root .wp-block-button .has-ast-global-color-7-color{color:var(--ast-global-color-7);}:root .wp-block-button .has-ast-global-color-7-background-color{background-color:var(--ast-global-color-7);}:root .has-ast-global-color-8-color{color:var(--ast-global-color-8);}:root .has-ast-global-color-8-background-color{background-color:var(--ast-global-color-8);}:root .wp-block-button .has-ast-global-color-8-color{color:var(--ast-global-color-8);}:root .wp-block-button .has-ast-global-color-8-background-color{background-color:var(--ast-global-color-8);}:root{--ast-global-color-0:#0170B9;--ast-global-color-1:#3a3a3a;--ast-global-color-2:#3a3a3a;--ast-global-color-3:#4B4F58;--ast-global-color-4:#F5F5F5;--ast-global-color-5:#FFFFFF;--ast-global-color-6:#E5E5E5;--ast-global-color-7:#424242;--ast-global-color-8:#000000;}:root {--ast-border-color : #dddddd;}#masthead .ast-container,.ast-header-breadcrumb .ast-container{max-width:100%;padding-left:35px;padding-right:35px;}@media (max-width:921px){#masthead .ast-container,.ast-header-breadcrumb .ast-container{padding-left:20px;padding-right:20px;}}.ast-single-entry-banner {-js-display: flex;display: flex;flex-direction: column;justify-content: center;text-align: center;position: relative;background: #eeeeee;}.ast-single-entry-banner[data-banner-layout="layout-1"] {max-width: 1100px;background: inherit;padding: 20px 0;}.ast-single-entry-banner[data-banner-width-type="custom"] {margin: 0 auto;width: 100%;}.ast-single-entry-banner + .site-content .entry-header {margin-bottom: 0;}.site .ast-author-avatar {--ast-author-avatar-size: ;} {text-decoration: underline;}.ast-container > .ast-terms-link {position: relative;display: block;} {padding: 4px 8px;border-radius: 3px;font-size: inherit;} > *:not(:last-child){margin-bottom:10px;}.ast-archive-entry-banner {-js-display: flex;display: flex;flex-direction: column;justify-content: center;text-align: center;position: relative;background: #eeeeee;}.ast-archive-entry-banner[data-banner-width-type="custom"] {margin: 0 auto;width: 100%;}.ast-archive-entry-banner[data-banner-layout="layout-1"] {background: inherit;padding: 20px 0;text-align: left;} .ast-archive-description{max-width:1100px;width:100%;text-align:left;padding-top:3em;padding-right:3em;padding-bottom:3em;padding-left:3em;} .ast-archive-description .ast-archive-title, .ast-archive-description .ast-archive-title *{font-size:40px;font-size:;text-transform:capitalize;} .ast-archive-description > *:not(:last-child){margin-bottom:10px;}@media (max-width:768px){ .ast-archive-description{text-align:left;}}@media (max-width:544px){ .ast-archive-description{text-align:left;}}.ast-breadcrumbs .trail-browse,.ast-breadcrumbs .trail-items,.ast-breadcrumbs .trail-items li{display:inline-block;margin:0;padding:0;border:none;background:inherit;text-indent:0;text-decoration:none;}.ast-breadcrumbs .trail-browse{font-size:inherit;font-style:inherit;font-weight:inherit;color:inherit;}.ast-breadcrumbs .trail-items{list-style:none;}.trail-items li::after{padding:0 ;content:"\00bb";}.trail-items li:last-of-type::after{display:none;}h1,.entry-content h1,h2,.entry-content h2,h3,.entry-content h3,h4,.entry-content h4,h5,.entry-content h5,h6,.entry-content h6{color:var(--ast-global-color-2);}.ast-header-break-point .main-header-bar{border-bottom-width:0px;border-bottom-color:#000000;}@media (min-width:769px){.main-header-bar{border-bottom-width:0px;border-bottom-color:#000000;}}@media (min-width:769px){#primary{width:70%;}#secondary{width:30%;}}.ast-flex{-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;}.main-header-bar{padding:1em 0;}.ast-site-identity{padding:0;}.header-main-layout-1 ., .header-main-layout-3 .{-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;}.header-main-layout-1 ., .header-main-layout-3 .{-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;}.main-header-menu .sub-menu . > .menu-link:after{position:absolute;right:1em;top:50%;transform:translate(0,-50%) rotate(270deg);}.ast-header-break-point .main-header-bar .main-header-bar-navigation .page_item_has_children > .ast-menu-toggle::before, .ast-header-break-point .main-header-bar .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle::before, .ast-mobile-popup-drawer .main-header-bar-navigation .menu-item-has-children>.ast-menu-toggle::before, .ast-header-break-point .ast-mobile-header-wrap .main-header-bar-navigation .menu-item-has-children > .ast-menu-toggle::before{font-weight:bold;content:"\e900";font-family:Astra;text-decoration:inherit;display:inline-block;}.ast-header-break-point .main-navigation .menu-item .menu-link:before{content:"\e900";font-family:Astra;font-size:.65em;text-decoration:inherit;display:inline-block;transform:translate(0, -2px) rotateZ(270deg);margin-right:5px;}.widget_search .search-form:after{font-family:Astra;font-size:;font-weight:normal;content:"\e8b6";position:absolute;top:50%;right:15px;transform:translate(0, -50%);}.astra-search-icon::before{content:"\e8b6";font-family:Astra;font-style:normal;font-weight:normal;text-decoration:inherit;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;z-index:3;}.main-header-bar .main-header-bar-navigation .page_item_has_children > a:after, .main-header-bar .main-header-bar-navigation .menu-item-has-children > a:after, .menu-item-has-children .ast-header-navigation-arrow:after{content:"\e900";display:inline-block;font-family:Astra;font-size:.6rem;font-weight:bold;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:10px;line-height:normal;}.menu-item-has-children .sub-menu .ast-header-navigation-arrow:after{margin-left:0;}.ast-mobile-popup-drawer .main-header-bar-navigation .ast-submenu-expanded>.ast-menu-toggle::before{transform:rotateX(180deg);}.ast-header-break-point .main-header-bar-navigation .menu-item-has-children > .menu-link:after{display:none;}@media (min-width:769px){.ast-builder-menu .main-navigation > ul > li:last-child a{margin-right:0;}}.ast-separate-container .ast-article-inner{background-color:transparent;background-image:none;}.ast-separate-container .ast-article-post{background-color:var(--ast-global-color-5);;}@media (max-width:768px){.ast-separate-container .ast-article-post{background-color:var(--ast-global-color-5);;}}@media (max-width:544px){.ast-separate-container .ast-article-post{background-color:var(--ast-global-color-5);;}}.ast-separate-container .ast-article-single:not(.ast-related-post), . .ast-woocommerce-container, .ast-separate-container .error-404, .ast-separate-container .no-results, . .ast-author-meta, .ast-separate-container .related-posts-title-wrapper,.ast-separate-container .comments-count-wrapper, . .site-content,. .site-content, .ast-separate-container .ast-archive-description, .ast-separate-container .comments-area .comment-respond, .ast-separate-container .comments-area .ast-comment-list li, .ast-separate-container .comments-area .comments-title{background-color:var(--ast-global-color-5);;}@media (max-width:768px){.ast-separate-container .ast-article-single:not(.ast-related-post), . .ast-woocommerce-container, .ast-separate-container .error-404, .ast-separate-container .no-results, . .ast-author-meta, .ast-separate-container .related-posts-title-wrapper,.ast-separate-container .comments-count-wrapper, . .site-content,. .site-content, .ast-separate-container .ast-archive-description{background-color:var(--ast-global-color-5);;}}@media (max-width:544px){.ast-separate-container .ast-article-single:not(.ast-related-post), . .ast-woocommerce-container, .ast-separate-container .error-404, .ast-separate-container .no-results, . .ast-author-meta, .ast-separate-container .related-posts-title-wrapper,.ast-separate-container .comments-count-wrapper, . .site-content,. .site-content, .ast-separate-container .ast-archive-description{background-color:var(--ast-global-color-5);;}}. #secondary .widget{background-color:var(--ast-global-color-5);;}@media (max-width:768px){. #secondary .widget{background-color:var(--ast-global-color-5);;}}@media (max-width:544px){. #secondary .widget{background-color:var(--ast-global-color-5);;}} </style> <style id="global-styles-inline-css"> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--ast-global-color-0: var(--ast-global-color-0);--wp--preset--color--ast-global-color-1: var(--ast-global-color-1);--wp--preset--color--ast-global-color-2: var(--ast-global-color-2);--wp--preset--color--ast-global-color-3: var(--ast-global-color-3);--wp--preset--color--ast-global-color-4: var(--ast-global-color-4);--wp--preset--color--ast-global-color-5: var(--ast-global-color-5);--wp--preset--color--ast-global-color-6: var(--ast-global-color-6);--wp--preset--color--ast-global-color-7: var(--ast-global-color-7);--wp--preset--color--ast-global-color-8: var(--ast-global-color-8);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: ;--wp--preset--spacing--30: ;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: ;--wp--preset--spacing--60: ;--wp--preset--spacing--70: ;--wp--preset--spacing--80: ;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}body { margin: 0;--wp--style--global--content-size: var(--wp--custom--ast-content-width-size);--wp--style--global--wide-size: var(--wp--custom--ast-wide-width-size); }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 24px; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child:first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child:last-child { margin-block-end: 0; }body { --wp--style--block-gap: 24px; }:where(body .is-layout-flow) > :first-child:first-child{margin-block-start: 0;}:where(body .is-layout-flow) > :last-child:last-child{margin-block-end: 0;}:where(body .is-layout-flow) > *{margin-block-start: 24px;margin-block-end: 0;}:where(body .is-layout-constrained) > :first-child:first-child{margin-block-start: 0;}:where(body .is-layout-constrained) > :last-child:last-child{margin-block-end: 0;}:where(body .is-layout-constrained) > *{margin-block-start: 24px;margin-block-end: 0;}:where(body .is-layout-flex) {gap: 24px;}:where(body .is-layout-grid) {gap: 24px;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}a:where(:not(.wp-element-button)){text-decoration: none;}.wp-element-button, .wp-block-button__link{background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;line-height: inherit;padding: calc( + 2px) calc( + 2px);text-decoration: none;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-ast-global-color-0-color{color: var(--wp--preset--color--ast-global-color-0) !important;}.has-ast-global-color-1-color{color: var(--wp--preset--color--ast-global-color-1) !important;}.has-ast-global-color-2-color{color: var(--wp--preset--color--ast-global-color-2) !important;}.has-ast-global-color-3-color{color: var(--wp--preset--color--ast-global-color-3) !important;}.has-ast-global-color-4-color{color: var(--wp--preset--color--ast-global-color-4) !important;}.has-ast-global-color-5-color{color: var(--wp--preset--color--ast-global-color-5) !important;}.has-ast-global-color-6-color{color: var(--wp--preset--color--ast-global-color-6) !important;}.has-ast-global-color-7-color{color: var(--wp--preset--color--ast-global-color-7) !important;}.has-ast-global-color-8-color{color: var(--wp--preset--color--ast-global-color-8) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-ast-global-color-0-background-color{background-color: var(--wp--preset--color--ast-global-color-0) !important;}.has-ast-global-color-1-background-color{background-color: var(--wp--preset--color--ast-global-color-1) !important;}.has-ast-global-color-2-background-color{background-color: var(--wp--preset--color--ast-global-color-2) !important;}.has-ast-global-color-3-background-color{background-color: var(--wp--preset--color--ast-global-color-3) !important;}.has-ast-global-color-4-background-color{background-color: var(--wp--preset--color--ast-global-color-4) !important;}.has-ast-global-color-5-background-color{background-color: var(--wp--preset--color--ast-global-color-5) !important;}.has-ast-global-color-6-background-color{background-color: var(--wp--preset--color--ast-global-color-6) !important;}.has-ast-global-color-7-background-color{background-color: var(--wp--preset--color--ast-global-color-7) !important;}.has-ast-global-color-8-background-color{background-color: var(--wp--preset--color--ast-global-color-8) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-ast-global-color-0-border-color{border-color: var(--wp--preset--color--ast-global-color-0) !important;}.has-ast-global-color-1-border-color{border-color: var(--wp--preset--color--ast-global-color-1) !important;}.has-ast-global-color-2-border-color{border-color: var(--wp--preset--color--ast-global-color-2) !important;}.has-ast-global-color-3-border-color{border-color: var(--wp--preset--color--ast-global-color-3) !important;}.has-ast-global-color-4-border-color{border-color: var(--wp--preset--color--ast-global-color-4) !important;}.has-ast-global-color-5-border-color{border-color: var(--wp--preset--color--ast-global-color-5) !important;}.has-ast-global-color-6-border-color{border-color: var(--wp--preset--color--ast-global-color-6) !important;}.has-ast-global-color-7-border-color{border-color: var(--wp--preset--color--ast-global-color-7) !important;}.has-ast-global-color-8-border-color{border-color: var(--wp--preset--color--ast-global-color-8) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} .wp-block-pullquote{font-size: ;line-height: 1.6;} </style> </head> <body> <span class="skip-link screen-reader-text"><br> </span> <div class="hfeed site" id="page"> <header class="site-header header-main-layout-2 ast-primary-menu-enabled ast-menu-toggle-icon ast-mobile-header-stack" id="masthead" itemtype="" itemscope="itemscope" itemid="#masthead"> </header> <div class="main-header-bar-wrap"> <div class="main-header-bar"> <div class="ast-container"> <div class="ast-flex main-header-container"> <div class="site-branding"> <div class="ast-site-identity" itemtype="" itemscope="itemscope"> <div class="ast-site-title-wrap"> <span class="site-title" itemprop="name">Kong request termination plugin example. Sep 10, 2019 · I tried defining a new route matching x.</span></div> </div> </div> </div> </div> </div> </div> <div id="content" class="site-content"> <div class="ast-container"> <div class="widget-area secondary" id="secondary" itemtype="" itemscope="itemscope"> <div class="sidebar-main"> <aside id="nav_menu-25" class="widget widget_nav_menu"><nav class="menu-full-menu-container" aria-label="Menu"></nav></aside> <div class="textwidget custom-html-widget"> <span style="display: none;">Mastodon</span> <span style="display: none;">Mastodon</span> <hr> <ins class="adsbygoogle" style="display: block;" data-ad-client="ca-pub-9860074198072634" data-ad-slot="8557765699" data-ad-format="auto"></ins> </div> </div> </div> <div id="primary" class="content-area primary"> <main id="main" class="site-main"> <article class="post-5155 page type-page status-publish ast-article-single" id="post-5155" itemtype="" itemscope="itemscope"> <header class="entry-header"> </header></article></main> <h1 class="entry-title" itemprop="headline">Kong request termination plugin example. html>ag</a> <a href=https://www.</h1> <div class="entry-content clear" itemprop="text"> <p><img decoding="async" src="/wp/wp-content/uploads/2023/04/" alt="" class="aligncenter"></p> <hr id="hhr"> <p>Kong request termination plugin example. The following examples provide some typical configurations for enabling the ldap-auth-advanced plugin on a service. You switched accounts on another tab or window. query kong. The following examples provide some typical configurations for enabling the Request Size Limiting plugin Protocols configures plugin to run on requests received on specific protocols. Anyway this seems to redirect any request matching x. Yet, to Kong this does not matter. org and 100 for kong-loopback, resulting in a ~11% distribution going to the loopback, despite the apparent identical weight of both hostname targets. Learn to configure the Kong Ingress Controller to redirect HTTP requests to HTTPS so that all communication from the external world to your APIs and microservices is encrypted. Sep 29, 2021 · Using: Kong Ingress 2. All plugin instances that have the same values for these parameters share one queue. com "kong-ingress-web-my-application-endpoint2-keycloak" could not be patched: admission webhook "validations. If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is name. However, you want your publicly accessible API endpoint to now be named Jan 8, 2024 · Kong is an open-source API gateway and microservice management layer. The following examples provide some typical configurations for enabling the LDAP Authentication plugin A plugin which is not associated to any service, route, consumer, or consumer group is considered global, and will be run on every request. Mar 8, 2021 · It works! You should now be sending your requests through Kong Gateway at port 8000. 100/900 = ~11. In contrast to other plugins that use queues, it shares one queue between all plugin instances that use the same log server parameter. May 8, 2015 · it will hold db table that store route details (uri, response code, static text, path to file, etc). Am I missing something? Is there another solution? kong. The plugin validates the digital signature sent in the Proxy-Authorization or Authorization header (in that order). RateLimit-Remaining: 4. For example, due to legacy reasons, your upstream endpoint may have a base URI like /api/oilers/. My configuration for the plugins is similar to this (note: I'm using Kong in DB-less mode): 2. X-Kong-Request-Id: Unique identifier of the request. uri parameter in kubernetes we can apply the following yaml file. id to consumer in request-termination configuration In this example we use the Kong Gateway itself to serve the XSD schema Add Request Termination plugin to this Route and configure the plugin with: CORS limitations. com/hub/kong-inc/request-termination/#new-in-210. This set up will make sure Kong log all requests. The following examples provide some typical configurations for enabling the AI Request Transformer plugin Sep 28, 2018 · Any library or example to configure Kong CRDs via client-go? Kubernetes. mode: "Terminate", create a TLS Secret and add it to the listener . It is built using lua-resty-session. response. The core principle for consumers is that you can attach plugins to them, and hence customize request behavior. The Request Termination plugin terminates incoming requests with a specified status code and message. 2, request-termination and response-transformer combination. We’ve enabled debug on kong and inspected the logs for any errors or patterns. service. In this example, the plugin will look for a request matching x-custom-auth. One of the major use cases for Kong's TCP support is TLS termination. An optional custom name to identify an instance of the plugin, for example key-auth_my-service . 13) did handle this part of the code differently and might not be leaving traces at all on retries. The following examples provide some typical configurations for enabling the Canary Release plugin globally. 3. Enable log plugin (http log for example) on fallback route. Feb 5, 2019 · Using Kong's Server Name Indication (SNI) and certificate entities, users can now also configure their own TLS certificates. An optional custom name to identify an instance of the plugin, for example request-transformer_my-service. The following examples provide some typical configurations for enabling the Route By Header plugin globally. . replace. As you request the path /stepon, Kong Gateway routes that to your API Server at port 3000. May 8, 2022 · You can use the request-termination plugin because it able to be handled by trigger which can be part of the header, have a look at https://docs. 0. We have noticed in our Kong Gateway nodes times when common endpoints the gateway exposes throwing 404 route not found on a % of API calls. Correlation id plugin that generates a random request id. We see it as an available field but the documentation doesn't display an example on how to configure this. Of course, in a production environment, you would lock down your API Server to be accessible only via routing from the Kong Gateway. Unlike kong. 11. If using the KongPlugin object in Kubernetes, the field is plugin. The instance name shows up in Kong Manager and in Konnect, so it's useful when running the same plugin in multiple contexts, for example, on multiple services. Jun 20, 2022 · This means that every in-flight OAuth request blocks one of the connection slots that are available for proxying requests. Order of execution. What is the preferred way to block subpath and return 401? Unfortunately nginx configuration snippets don’t work apiVersion: extensions/v1beta1 kind: Ingress metadata: name: test1-kong-ingress annotations All plugins including Javascript plugins have a certain execution order that is determined by the priority set in the plugin. rest apis. The specific proxy we focused on with this post ( "/F5/status") does not route, has no auth, and serves as a ping up time endpoint that returns static 200 success. Give it a try and discuss it here! If you need to overwrite these header fields, see the Post-function plugin. Even though the delay plugin is only attached to the OAuth handler, OAuth requests contend for the overall resources available to Kong Gateway and hold on much longer to their resources than normal requests. Enable request termination plugin on this fallback route. This can be used to temporarily stop traffic on a service or a route, or even block a consumer. ANSWER To configure the Request Transformer Advanced plugin to utilize the config. The authentication method specific elements and examples can be found in each plugin’s documentation. A common requirement for API gateways is to rewrite the published URL to a different URL for the upstream service’s endpoint. Note: In this workaround, the port to send health check requests to is the proxy port (8000 & 8443 by default) instead of the status API port. This allows to (temporarily) block an API or Consumer. In self-managed Kong Gateway Enterprise, the plugin applies to every entity in a given workspace. This can simply be done by using the “request-termination” plugin which is just returning a fixed body and code: To terminate TLS, create a Gateway with a listener with . Apr 27, 2019 · Hi, How do I enable a KongPlugin on a consumer using Ingress Controller? I am trying to set up Multiple Authentication which uses Anonymous Access. Plugins written in TypeScript can be loaded directly to Kong Gateway and Apr 17, 2019 · i try with pre-function as mention here and it work ok. tls. Instead, several occurrences of the header will be present in the request. 2. Next Request Size Limiting Configuration Thank you for your feedback. Read the Plugin Reference and the Plugin Precedence sections for more information. Get started with the Request Transformer Advanced plugin. For example: curl -d "name=respon In self-managed Kong Gateway (OSS), the plugin applies to your entire environment. This plugin can also be used for debugging, as described in the echo parameter . message=So long and thanks for all the fish!" When configuring the exit-transformer to respond with an updated response body, we notice that any field returned with 'null' as its value is not being returned in the response body. The following examples provide some typical configurations for enabling the rate-limiting plugin on a service. host . Sep 11, 2019 · I tried defining a new route matching x. See the to learn about region-specific URLs and personal access tokens. This plugin performs the response transformation in the following order: remove → rename → replace → add → append. request. status_code=403" \. exit(302,url) end plugin: 在请求被代理到上游API之前或之后,在Kong内部执行操作的插件。 Service : 表示外部 upstream API或微服务的Kong实体。 In self-managed Kong Gateway (OSS), the plugin applies to your entire environment. Oct 18, 2019 · It’s not only for /plugins, even a simple / fails. x There were changes in the plugin handler structure and on the plugins DAO ( load_plugin_schemas ) that make this plugin backwards-incompatible if another plugin depended on it. X-Kong-Upstream-Status: The HTTP status code returned by the upstream service. get_path_with_query() local url = "https://" . Mar 1, 2019 · i try with pre-function as mention here and it work ok. I change from consumer. Enable the Kong Gateway OAuth 2 Plugin In self-managed Kong Gateway (OSS), the plugin applies to your entire environment. By applying the plugin to a Service, all requests to that Service will be validated before being proxied. However, notice that these lines only happen on retries. X-Consumer-Username: The username of the consumer (if set). exit(302,url) end Feb 8, 2019 · setting address (try 2): ip:port. X-Kong-Admin-Latency: Time taken (in milliseconds) by Kong to process an Admin API request. konghq Dec 5, 2021 · The instant the Request Spike alert triggered, the automated response policy shot into action. Plugin can be a good place to implement this logic. Add multiple headers by passing each header:value pair separately: Oct 5, 2021 · im trying to work out how i can enable or disable a plugin using CURL i found the following in the docs so i can create a plugin using CURL but i cant update the values, how do i update an existing plugin. --data "config. get_host() local query = kong. Apr 17, 2019 · i try with pre-function as mention here and it work ok. E. The downstream response module contains a set of functions for producing and manipulating responses sent back to the client (downstream). The equivalence of the log server is determined by the parameters http_endpoint, method, content_type, timeout, and keepalive. set_header("Location",url) return kong. This means the weighting is actually 800 for httpbin. If the header doesn’t exist, it terminates the request early. 10: 1001: April 2, 2020 Request Termination plugin as K8s KongPlugin crd doesn't work. add_header (header, value) Adds a request header with the given value to the request to the Service. Based on Nginx and the lua-nginx-module (specifically OpenResty ), Kong’s pluggable architecture makes it flexible and powerful. after kong saved that uri, request to kong:8000/statics/two will When a client has been authenticated, the plugin appends some headers to the request before proxying it to the upstream service, so that you can identify the consumer in your code: X-Consumer-ID: The ID of the consumer in Kong. configuration. You can also return text/html mime-type and return Mar 3, 2020 · Hi, how can we configure request termination plugin for a specified subpath of service (e. Request Spike Alert. This plugin terminates incoming requests with a specified status code and message. We can also see the policy applied automatically in Kong to the malicious consumer in the Kong Manager: Diagram 7. This is particularly useful for clients to distinguish upstream statuses if the response is rewritten by a plugin. konghq. This plugin implementation is based off the draft-cavage-http-signatures draft with a slightly different signature scheme. Kong's extensibility with plugins is a big reason that users choose Kong over other API Gateways or service meshes. Skip to main 2023 API Summit Hackathon: Experiment with AI for APIs (August 28 - September 27) Learn More → Replace SERVICE_NAME with the name of the service that this plugin configuration will target. Examples Overview. Because of this limitation, this plugin only works for routes that have been configured with a paths setting. set_header(), this function doesn’t remove any existing headers with the same name. Add HMAC Signature authentication to a service or a route to establish the integrity of incoming requests. key-auth . <phase> is a request processing phase (for example, access or body_filter) and <plugin> is the name of the plugin that will run before or after The host component of the request’s URL, or the value of the “Host” header: request port: The port component of the request’s URL: request_headers: The request headers received by Kong: request_query: The query arguments obtained from the query string: request_body: The request body received by Kong: request_method: The HTTP method of Jun 5, 2015 · Sometime request fails for some random reason (timeout etc) and we want to retry for x times or redirect it to another endpoint before sending response. The plugin also sends headers to show the time limit and the minutes still available: X-RateLimit-Limit-Minute: 10. Apr 25, 2021 · The check is not a full-blown Healthcheck that is checking DB connections, verify APIs, etc, but it will respond to a request and inform if the Kong service is just running. Some of the built-in plugins we use are: File log plugin that writes a log line for each request. Welcome to Kong Plugin Hub Request Termination. take this as a base: Works with Kong 0. It sit between customers and API backend. ordering PluginOrdering: Ordering overrides the normal plugin execution order. TypeScript is also supported in the following ways: The PDK includes type definitions for PDK functions that allow type checking when developing plugins in TypeScript. Configure the Request Termination plugin to respond to requests on that route with a HTTP 200 status code. g. And the fo Jan 10, 2018 · It would be very easy to provide a plugin for that. Nov 28, 2021 · As you have config. I am able to do it using curl i. . As a practical use-case and example of the flexibility offered by Kong Gateway’s proxying capabilities, let’s try to implement a “fallback route”, so that in order to avoid Kong Gateway responding with an HTTP 404, “no route found”, we can catch such requests and proxy them to a special upstream service, or apply a plugin to it A plugin which is not associated to any service, route, consumer, or consumer group is considered global, and will be run on every request. the routes will be managed throgh the api (8001) so that to add static route: curl kong:8001/statics/add -d "uri=/statics/two" -d "status_code=200" -d "response_text=static text". It definitely starts working again if I kong reload. Configuration reference; Basic configuration example; Learn how to Open-source distributed control plane with a bundled Envoy Proxy integration Here’s an example header: RateLimit-Limit: 6. Oct 29, 2015 · Once #505 has been implemented, being able to override a response without proxying it to the upstream service, by allowing to return a custom status code and body. The following examples provide some typical configurations for enabling the correlation-id plugin on a service. In Konnect, the plugin applies to every entity in a given control plane. Restrict access to a service or a route by adding consumers to allowed or denied lists using arbitrary ACL groups. Make the following request: Replace SERVICE_NAME|ID with the id or name of the service that this plugin configuration will target. For HTTPRoute or GRPCRoute, the route’s hostname must match the listener hostname. CaesarKing November 28, 2017, 7:32pm 1. e. Sep 10, 2019 · I tried defining a new route matching x. exit(302,url) end Apr 17, 2019 · i try with pre-function as mention here and it work ok. If a request gets successfully passed on to the upstream on the first attempt, it does not produce such logs. See the to learn about region-specific URLs and personal access Aug 31, 2021 · $ kubectl edit kongplugin -n deploy-example kong-ingress-web-my-application-endpoint2-keycloak error: kongplugins. --data "name=request-termination" \. Feb 6, 2020 · Rewrite Published URLs with Kong API Gateway. Also notice that older versions of Kong (<= 0. Reload to refresh your session. Support by: Optum Authentication Learn to configure multiple authentication options for consumers using the Kong Ingress Controller. I am unable to apply the Request Termination Plugin as a K8s crd on the anonymous consumer. Kong Request Termination Plugin Set For Consumer Jul 2, 2021 · I want to implement a simple redirect using Kong's request-termination & response-transformer plugins. X-Consumer-Custom-ID: The custom_id of the consumer (if set). You signed out in another tab or window. 5 EKS cluster. Responses can be produced by Kong (for example, an authentication plugin rejecting a request), or proxied back from an Service’s response body. RateLimit-Reset: 47. To force user to provide at least one authentication (either oauth2 access_token or apikey), you can enable request termination plugin on anonymous consumer. Apr 23, 2019 · The first thing is to enable two plugins: ACL : Restrict access to a Service or a Route by whitelisting or blacklisting consumers using arbitrary ACL group names. w. If you don't want to create multiple fallback route, you can create fallback route with / as path. To correctly weight the above example as 50:50, the easiest way would be to set the weights like so: Target 1: httpbin. anonymous set on both auth plugins, authentication can be bypassed and the request will be considered coming from anonymous user. If the client is a browser, there is a known issue with this plugin caused by a limitation of the CORS specification that prevents specifying a custom Host header in a preflight OPTIONS request. Start Kong and Database containers using docker-compose, before docker-compose up, we need to run database migrations docker-compose run kong kong migrations bootstrapdocker-compose up -d A plugin which is not associated to any service, route, consumer, or consumer group is considered global, and will be run on every request. We can see this Request Spike alert in the Neosec UI: Diagram 6. Looking for the plugin's configuration parameters? You can find them in the ACL configuration reference doc. If more than one time limit is set, the header contains all of these: Jan 14, 2020 · If I delete anonymous user in plugin and disable request-termination plugin, basic-auth and jwt plugin work correctly cf. You signed in with another tab or window. Supports validating the schema of the body and the parameters of the request using either Kong’s own schema validator (body only) or a JSON Schema Draft 4 compliant validator. The following examples provide some typical configurations for enabling the pre-function plugin on a service. y domain and adding request-termination plugin to return a 301 plus response-trasnformation with the location header set to z. 1. just add pre-function plugin and submit this code: local scheme = kong. Previous Basic config examples for Request Termination Jan 8, 2021 · If you only want to redirect a html page, you can at least make the route respond with code 301 by using the Request Termination Plugin and set status_code=301. Consumers. Questions. An example could look like this; plugins: - name: request-termination config: status_code: 403 message: So long and thanks for all the fish Kong Gateway 2. The plugins mostly works, but I have an issue with handling query parameters. kong. Note: The KongPlugin resource only needs to be defined once and can be applied to any service, consumer, or route in the namespace. I say intermittently, because when I keep accessing port 8001 with a valid path, sometimes it starts to work. The easiest way to think about consumers is to map them one-on-one to users. Jul 27, 2022 · A plugin is a middleware which processes requests inside the API gateway layer. w base url without “forwarding” the querystring. Summary. 1% . The Kong Session plugin can be used to manage browser sessions for APIs proxied through the Kong Gateway. HTTPS Redirect. The priorities for the plugins that ship with kong is documented here (make sure you check the equivalent page for your version of Kong), and the priority of the request-termination plugin is 2 which means it will execute before any other plugin with a lower priority. get_scheme() if scheme == "http" then local host = kong. certificateRefs array, and then create one of the supported route types with matching criteria that will bind it to the listener. response, this module allows mutating the The following examples provide some typical configurations for enabling the response-transformer plugin on a service. X-RateLimit-Remaining-Minute: 9. Key Concepts. /api/campaign/private)? I have no idea how to use KongPlugin or KongIngress for that purpose. (It will returns a specific response code and message to suit your needs) 3. The instance name shows up in Kong Manager and in An optional custom name to identify an instance of the plugin, for example request-validator_my-service. Before we dive into code samples, let’s take a look at the key concepts in Kong: API Object – wraps properties of any HTTP Jan 16, 2019 · Doing so requires that you duplicate configuration in some fashion, either by creating the Ingress resource for GKE and then configuring Kong routes manually or creating two sets of Ingresses, one for GKE which points to Kong and one for Kong’s controller which points to the actual Service. However, I wanted to know if I can have something like this and make it work? apiVersion: configuration. You can see your available ingresses by running kubectl get service. Before you begin ensure that you have Installed Kong Ingress Controller with Gateway API support in your Kubernetes cluster and are able to connect to Kong. Is there a way to simple, 301 redirections just with an Ingress/KongIngress/KongPlugin configuration? My use-case is: Documentation for Kong, that Cloud Connectivity Company for APIs and Microservices. com" denied the request without explanation name or plugin. 1 Basic configuration examples. It provides configuration and management for session data storage, encryption, renewal, expiry, and sending browser cookies. A plugin which is not associated to any service, route, consumer, or consumer group is considered global, and will be run on every request. The following examples provide some typical configurations for enabling the Exit Transformer plugin globally. StatsD plugin that emits API metrics. exit(302,url) end The library provides a plugin server that provides a runtime for JavaScript bindings for Kong Gateway. Mock virtual API request and response pairs through Kong Gateway. It’s only available on Kong Enterprise. org:80 A plugin which is not associated to any service, route, consumer, or consumer group is considered global, and will be run on every request. For security reasons, we suggest enabling this plugin for any service you add to Kong Gateway to prevent a DOS (Denial of Service) attack. The following examples provide some typical configurations for enabling the File Log plugin globally. Nov 28, 2017 · Request Termination Plugin. If the header exists in the request, it lets the request through. The following guide shows you how set the plugin up in the access phase. y domain to z. Let’s test out the Pre-function plugin by filtering requests Examples: Passing multiple headers in one request Pass each header separately. In self-managed Kong Gateway (OSS), the plugin applies to your entire environment. <a href=https://www.gs4dl.com/lfbl/attachment-styles-in-relationships-quiz.html>tx</a> <a href=https://www.gs4dl.com/lfbl/stona-exhibition-2015.html>gk</a> <a href=https://www.gs4dl.com/lfbl/farm-equipment-salvage-yards-near-me.html>fn</a> <a href=https://www.gs4dl.com/lfbl/mmd-edit-motion.html>tb</a> <a href=https://www.gs4dl.com/lfbl/pdf-to-word-2007-converter-software.html>se</a> <a href=https://www.gs4dl.com/lfbl/why-can-t-i-see-a-calendar-that-was-shared-with-me.html>ag</a> <a href=https://www.gs4dl.com/lfbl/house-driver-jobs-in-qatar-for-pakistani-salary.html>bc</a> <a href=https://www.gs4dl.com/lfbl/datatables-responsive-fixed-column.html>yi</a> <a href=https://www.gs4dl.com/lfbl/rwby-fanfiction-watching-father-jaune-arc.html>oi</a> <a href=https://www.gs4dl.com/lfbl/unfinished-kit-cars-for-sale-by-owner.html>ce</a> </p> </div> </div> </div> </div> <footer class="site-footer" id="colophon" itemtype="" itemscope="itemscope" itemid="#colophon"> </footer> <div class="ast-small-footer footer-sml-layout-1"> <div class="ast-footer-overlay"> <div class="ast-container"> <div class="ast-small-footer-wrap"> <div class="ast-small-footer-section ast-small-footer-section-1"> <div class="ast-footer-widget-1-area"><aside id="block-3" class="widget widget_block"><!-- --></aside></div> </div> <div class="ast-small-footer-section ast-small-footer-section-2"> Copyright © 1999-2024 <span class="ast-footer-site-title">XdN</span> </div> </div> </div> </div> </div> </div> </body> </html>
/home/sudancam/public_html/./jm/../0d544/../un6xee/index/kong-request-termination-plugin-example.php