It's *dynamic*, not static; add CORS; fix stupid mistakes

This commit is contained in:
Tony Garnock-Jones 2015-04-08 19:06:46 -04:00
parent 316daca342
commit c6f0cd33e0
2 changed files with 24 additions and 26 deletions

View File

@ -98,18 +98,17 @@
(authentication-wrap* #t request (lambda () body ...))) (authentication-wrap* #t request (lambda () body ...)))
(define-syntax-rule (with-site-config body ...) (define-syntax-rule (with-site-config body ...)
(let ((static-base (if (rendering-static-page?) static-urlprefix ""))) (parameterize ((bootstrap-navbar-header navbar-header)
(parameterize ((bootstrap-navbar-header navbar-header) (bootstrap-navigation `((,nav-index ,(main-page-url))
(bootstrap-navigation `((,nav-index ,(main-page-url)) (,nav-search ,(named-url search-page))
(,nav-search ,(named-url search-page)) ;; ((div ,(glyphicon 'download-alt)
;; ((div ,(glyphicon 'download-alt) ;; " Download")
;; " Download") ;; "http://download.racket-lang.org/")
;; "http://download.racket-lang.org/") ))
)) (bootstrap-static-urlprefix (if (rendering-static-page?) static-urlprefix ""))
(bootstrap-static-urlprefix static-base) (bootstrap-inline-js (format "PkgSiteDynamicBaseUrl = '~a';" dynamic-urlprefix))
(bootstrap-inline-js (format "PkgSiteBaseUrl = '~a/json/';" static-base)) (jsonp-baseurl backend-baseurl))
(jsonp-baseurl backend-baseurl)) body ...))
body ...)))
(define clear-session-cookie (make-cookie COOKIE (define clear-session-cookie (make-cookie COOKIE
"" ""
@ -1230,26 +1229,24 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define (cors-json-response f)
(response/output #:mime-type #"application/json"
#:headers (list (header #"Access-Control-Allow-Origin" #"*"))
f))
(define (json-search-completions request) (define (json-search-completions request)
(define completions (set-union (list->set (map ~a (all-package-names))) (all-formal-tags))) (define completions (set-union (list->set (map ~a (all-package-names))) (all-formal-tags)))
(response/output #:mime-type #"application/json" (cors-json-response(lambda (response-port) (write-json (set->list completions) response-port))))
(lambda (response-port)
(write-json (set->list completions) response-port))))
(define (json-tag-search-completions request) (define (json-tag-search-completions request)
(response/output #:mime-type #"application/json" (cors-json-response(lambda (response-port) (write-json (set->list (all-tags)) response-port))))
(lambda (response-port)
(write-json (set->list (all-tags)) response-port))))
(define (json-formal-tags request) (define (json-formal-tags request)
(response/output #:mime-type #"application/json" (cors-json-response (lambda (response-port)
(lambda (response-port) (write-json (set->list (all-formal-tags)) response-port))))
(write-json (set->list (all-formal-tags)) response-port))))
(define (pkgs-all-json request) (define (pkgs-all-json request)
(response/output #:mime-type #"application/json" (cors-json-response (lambda (response-port) (write-json (packages-jsexpr) response-port))))
(lambda (response-port)
(write-json (packages-jsexpr) response-port))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

View File

@ -26,12 +26,13 @@ PkgSite = (function () {
} }
function getJSON(relative_url, k) { function getJSON(relative_url, k) {
return $.getJSON(PkgSiteJsonBaseUrl + relative_url, k); return $.getJSON(PkgSiteDynamicBaseUrl + '/json/' + relative_url, k);
} }
return { return {
multiTermComplete: multiTermComplete, multiTermComplete: multiTermComplete,
preventTabMovingDuringSelection: preventTabMovingDuringSelection preventTabMovingDuringSelection: preventTabMovingDuringSelection,
getJSON: getJSON
}; };
})(); })();